By-Publisher Event Ordering
The Broker guarantees that events from a single publishing client cannot be processed out of order. This has important implications when several Broker clients are sharing the same event queue. The table below shows a client event queue containing events received from three different publishing clients; Broker client A, Broker client B, and Broker client C.
Publishing Client | Event Queue Position |
BrokerClient A | 1 |
BrokerClient B | 2 |
BrokerClient A | 3 |
BrokerClient C | 4 |
BrokerClient B | 5 |
BrokerClient C | 6 |
Consider these steps:
1. BrokerClient X receives the event from queue position 1 without acknowledging the event.
2. BrokerClient Y receives the event from queue position 2 without acknowledging the event.
3. When
BrokerClient Y then asks for another event, it is given the event from queue position 4 because the last event published by Client A has not yet been acknowledged. For more information on acknowledging events, see
Using Sequence Numbers.