redb.Route
интеграционный фреймворк.NET-аналог Apache Camel
Enterprise-фреймворк интеграции для .NET — соедините любую систему с любой в несколько строк C#. Fluent-DSL строит конвейеры From → Process → To. Без XML, без привязки к шине, без пер-endpoint лицензий.
29
транспортов
30+
EIP-паттернов
37
NuGet-пакетов
OTel
встроен
Что внутри
- Брокеры и сообщения: Kafka, RabbitMQ, Azure Service Bus, IBM MQ, Amazon SQS/SNS, MQTT 5.0, AMQP 1.0, Redis.
- Сеть и веб: HTTP, gRPC, WebSocket, SignalR, raw TCP, Telegram Bot API.
- Файлы и хранилища: File, FTP/SFTP, AWS S3 / MinIO, типизированное хранилище redb.
- Данные и поиск: SQL (ADO.NET), Elasticsearch, LDAP / Active Directory, Firebase.
- AI / LLM: коннектор llm: (OpenAI-совместимый — 14 API — + нативный Anthropic, token-стриминг), MCP-клиент (mcp:) и .AsLlmTool() — превращает любой транспорт в инструмент для LLM.
- 30+ EIP-паттернов (Splitter, Aggregator, CBR, Saga, Circuit Breaker, Idempotent Consumer, Scatter-Gather…), компилируемый движок выражений, транзакционные маршруты, встроенный OpenTelemetry.
- В проде работает на redb.Tsak: .tpkg-модули, hot-reload, кластеризация, REST/CLI/дашборд. 32 пакета, Apache 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
- 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
- expr="${header.kind} == 'order'" is rendered to text before it is read, and non-empty text is true whatever it
- Only the mixture is reported: a placeholder outside the braces together with an operator outside them. A lone
- Driven by the specs, not by a list of elements: AttributeSpec.Condition marks a predicate position (filter,
- include/exclude only ever saw the file name, so "poll these three directories out of two hundred" had no answer
Статьи по redb.Route
Все статьи по redb.Route (32) →Документация и примеры для этого продукта скоро появятся здесь. Пока — смотрите GitHub и README.
← Ко всем продуктам