Stores for Apportioning Message Streams

Topology

When using a persistence store to apportion a message stream, the store is an intermediary hop between publishing and subscribing applications. In the following diagram, notice the absence of any direct path. The store is the only path from the publishing endpoint to the subscribing endpoints. (The direct path requirement does not apply when using a store to apportion a message stream, it applies only for delivery assurance.)

Persistence Store as Apportioning Intermediary

Apportioning

The shared durable in the preceding diagram apportions the message stream among its subscribers. That is, each subscriber receives a portion of the message stream, rather than every message. Exactly one subscriber consumes each message in the message stream.

Acknowledgment and Redelivery

A subscriber acknowledges each message it receives. The shared durable tracks those acknowledgements. If a subscriber disconnects leaving one or more messages unacknowledged, the shared durable redelivers those messages to other subscribers.