Delivery Assurance: Larger Networks of Endpoints

Persistence stores connect endpoints to endpoints.

Earlier diagrams showed the persistence store connecting one publisher endpoint to one subscriber endpoint. More generally, a store can connect many publisher endpoints, each with many publishers, to many subscriber endpoints, each with many subscribers.

The store in the following diagram collects messages from two publishers on endpoint E1 (left). Two durable subscribers on endpoint E2 (right) can recover those messages from the store.

A direct path connects each of the two E1 publishers to each of the two E2 subscribers.

Store Serves Several Publishers and Subscribers

Notice that each of the durable subscribers in the diagram depends on a unique standard durable within the store.

Delivery Assurance: Combined Message Stream

A persistence store collects messages from all its publishing endpoints, and merges them into a combined message stream. The store then ensures that all of its subscribers receive every message of that combined message stream. (If a subscriber has a content matcher, it receives every matching message.)

In the preceding diagram, the store merges the message streams from the two publishers, and feeds the combined stream to both subscribers. Each subscriber then receives the entire combined message stream.