redb.Route
integration frameworkThe .NET equivalent of Apache Camel
Enterprise integration framework for .NET — wire any system to any system in a few lines of C#. A fluent DSL builds From → Process → To pipelines. No XML, no message-bus lock-in, no per-endpoint license fees.
29
transports
30+
EIP patterns
37
NuGet packages
OTel
built-in
What's inside
- Brokers & messaging: Kafka, RabbitMQ, Azure Service Bus, IBM MQ, Amazon SQS/SNS, MQTT 5.0, AMQP 1.0, Redis.
- Network & web: HTTP, gRPC, WebSocket, SignalR, raw TCP, Telegram Bot API.
- Files & storage: File, FTP/SFTP, AWS S3 / MinIO, redb typed object storage.
- Data & search: SQL (ADO.NET), Elasticsearch, LDAP / Active Directory, Firebase.
- AI / LLM: llm: connector (OpenAI-compatible — 14 APIs — + native Anthropic, token streaming), MCP client (mcp:), and .AsLlmTool() to expose any transport as an LLM-callable tool.
- 30+ EIP patterns (Splitter, Aggregator, CBR, Saga, Circuit Breaker, Idempotent Consumer, Scatter-Gather…), compiled expression engine, transactional routes, OpenTelemetry built-in.
- Runs in production on redb.Tsak: .tpkg modules, hot-reload, clustering, REST/CLI/dashboard. 32 packages, Apache 2.0.
Latest releases
- A timeout of a component's own deadline — an HTTP producer's HttpClient.Timeout, an RPC reply deadline
- Error handling names such a timeout a System.TimeoutException, keeping the original as InnerException, so
- The rule lives once now, in redb.Route.Core.RouteCancellation, and is public for callers who need the same
- A Catch<T> or OnException<T> whose T is an OperationCanceledException (TaskCanceledException above
- An action may answer by itself: write Exchange.Out (body, status.code, Content-Type), stop the exchange and
- The request body is now cleared only when the dispatcher made the reply itself (a clone of the request): an
- The endpoint of a static target — To, WireTap, Enrich, a load balancer's targets, a Scatter-Gather's fixed
- A dynamic target (ToD, a recipient list, a routing slip) is still resolved per message, and producers are still
- A document type declaration can nest internal entities so that a tiny message expands into a huge one
- The direct loaders all expand it: XmlDocument.Load, XDocument.Load and XDocument.Parse alike
- New SafeXml in the core reads every document through such a reader, with an optional size bound, and
- A DTD is refused rather than budgeted: SOAP forbids one in an envelope outright, so for SOAP this is
Articles on redb.Route
All articles on redb.Route (30) →Docs and examples for this product are coming soon. For now, see GitHub and the README.
← Back to all products