Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
Link routing provides for direct dispatch. A sender can be directly associated with a receiver.
What happens when there is no receiver?
Having the option to use an alternative or divert address when the receivers are unavailable, and having the ability for the router to fall back to the original when the divert address has drained would be magical.
For example:
Sender published to address A
Receiver consumes from A and Sender is rate limited to the consumption rate of the receiver. all is good.
Receiver goes offline. At this point the Sender can block, however, if there is an alternative address, the Sender can continue to publish at any rate.
When the Receiver come online, the routing engine 'diverts' it to the alternate address.
At some stage the routing engine may be able to undo the divert and reconnect the link from Sender to Receiver, once the alternate address has drained.
In theory this seems possible, in practice it may be tricky, but it would be a smashing feature.
For a bursty Sender it always gets to publish.
For a receiver, it gets to consume as fast as it can, and if it cannot keep-up (or is offline) it gets to resume from a alternative address and then auto reconnected to the Sender when there is a window to switch back. i.e: a pause in the producer.