NServiceBus.Router

Cross-transport, cross-site and possibly cross-cloud router component for NServiceBus

MIT License

Stars
5
Committers
8

Bot releases are hidden (Show)

NServiceBus.Router - 4.0.0 Latest Release

Published by SzymonPobiega 11 months ago

This release adds support for .NET 6 and NServiceBus 8.

NServiceBus.Router - 3.9.1

Published by SzymonPobiega over 3 years ago

This release bumps the version of NServiceBus.Raw to 3.2.4. This version of Raw ships with a set of transport-specific configurations that are meant to make all NServiceBus transports work in the Router out-of-the-box (without having to set obscure flags and settings). Tested with Azure ServiceBus, Azure Storage Queues, SQS, RabbitMQ, MSMQ and SQL Server transports.

NServiceBus.Router - NServiceBus.Router 3.7.0

Published by SzymonPobiega over 4 years ago

This release includes support for send-only interfaces. Kudos to @KatoStoelen for providing the implementation via https://github.com/SzymonPobiega/NServiceBus.Router/pull/24.

Send-only interfaces can be useful if you need to build unidirectional routing topology where messages from one transport are routed to a bunch of other transports but no messages are routed back.

NServiceBus.Router - 3.0.0

Published by SzymonPobiega almost 6 years ago

In this release the Router has been rewritten with an aim to make it more customizable.

The internals of the Router have been modelled after Linux's iptables firewall:

  • The system consists of rules
  • Rules are organised into chains
  • There are some standard pre-defined chains but users can create custom chains
  • Messages move between chains

Pre-defined chains

There are three pre-defined chains

  • Pre-routing
  • Forwarding
  • Post-routing

Pre-routing

The pre-routing chain is responsible for categorising messages and extracting information from them. Pre-routing chain terminators move messages to the forwarding chain. When messages are moved from pre-routing to forwarding their destination is already known

Forwarding

The forwarding chain is responsible for applying necessary transformation to forwarded messages e.g. mutating the correlation ID header.

Post-routing

The post-routing chain is responsible for properly dispatching forwarded messages to the transport