Event-driven integration
Route events by content, chain flows by message type, and never drop an acknowledged message.
Bitween consumes from its own RabbitMQ bus or from your RabbitMQ and Amazon SQS queues. Bus gateway routes match messages by content, run the pipelines they belong to, and publish responses that start the next flow.
How it works
Four things to know.
Read from any queue
A bus gateway reads the internal bus or a queue on a customer broker. The adapter acknowledges only after the exchange is stored; if Bitween refuses or is down, the message is requeued.
Route by content
Each route has an optional match expression over JSON paths or XPath, an optional partner and a subscription. Every matching route runs.
Chain with message types
A subscription can publish its response under a message type, and any bus-enabled information type with that name receives it as a new document.
See the whole graph
The Flow map draws gateways, message types and subscriptions, and warns about loops, gateways without routes and messages nobody listens to.
{
"type": "and",
"left": { "type": "one_of", "path": "order.country", "values": ["JO", "AE"] },
"right": { "type": "not_one_of", "path": "order.status", "values": ["cancelled"] }
}Outcomes
What your team gets.
- One message can start several pipelines
- Duplicate broker deliveries become one exchange
- Publishing to customer queues from any node
- Loops caught on the Flow map before they bite
Good to know: RabbitMQ messages without a message-id property are not deduplicated, and publishing does not use publisher confirms. Kafka and Azure Service Bus are not supported today.
Documentation
Read the details.
Industries
Where this pattern shows up.
Put every integration on one governed pipeline.
Talk to the architects who build Bitween about your partners, systems and message volumes, or start from the docs and run it yourself today.