redb.Route

integration framework

The .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

  • 4.2.2
    • 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
  • 4.2.0
    • 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
  • 4.1.1
    • 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
All releases (27) →

Articles on redb.Route

AS4 in .NET without a Java MSH: ebMS 3.0, WS-Security and non-repudiation receipts as a route step AS4 brings signed, encrypted document exchange to EU government and enterprise networks, now as a native redb.Route connector with no Java MSH or gateway.
Redis in .NET routes: cache, Pub/Sub, Streams with consumer groups and Claim Check in one connector The Redis connector for redb.Route: every data structure as a route step, Pub/Sub, Streams with consumer groups, a list as a queue, and Claim Check on Redis.
XML routes in redb.Route: a schema the editor picks up, checks at build time, modules swapped live A route in .route.xml runs on the same engine as C#: completion in VS Code, package checks inside dotnet build, a graph editor and hot module swap.
redb for business: your team writes business logic, the infrastructure is already built With redb your team writes only business logic: what the ecosystem replaces, what it costs, which risks it removes, and what to know before you start.
redb 4.0: XML routes, lazy references, unique keys and WS-Trust in one major release One major release across the ecosystem: what's new in redb.Core, Route, Tsak and Identity, what got fixed on security, and what breaks.
Microservices in .NET without building a platform: a cluster of workers, one dashboard, hot-swapped modules The same artifact deploys as a monolith and as a cluster of microservices. Same modules, one dashboard over every worker, hot swap with no container restart.
Expressions in .NET routes: one language for conditions, values and templates, compiled to IL header.amount > 1000 compiles to a delegate; conditions, ${...} and Expr() share one grammar. How it differs from Simple in Apache Camel.
redb 3.7: our own gRPC wire, cutting props before the aggregate, and a release withdrawn a day later Our own gRPC wire in Route, props cut before the aggregate in redb.Core, Tsak closed by default, a second Identity facade. And 3.7.0, withdrawn a day later.
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