参考:
https://docs.solace.com/PubSub-ConceptMaps/Event-Stream-Maps.htm
How Messages Move Through the PubSub+ Event Broker
Persistence refers to the Quality-of-Service (QoS) of event messages, and they can be classified as Persistent (Guaranteed) or Non-Persistent
Durable endpoints operate whether or not consumers are active.
The concept of persistence applies to event messages, and durability applies to endpoints.
Non-Persistent Event Stream Maps
Non-persistent events are ephemeral. These events provide a QoS for consumers where loss of messages is acceptable, and use a design pattern where consumers only receive messages starting from the time of connection.
When event messages arrive at the broker with Persistent Delivery Mode
set to Direct
, the message is placed at the tail of the Non-Persistent Event Stream.
Each Direct
message has an assigned priority. The consumer’s egress queue ensures higher priority Direct
messages are processed before lower priority ones.
Non-persistent event processing
Operations the Data Plane Tasks Perform on Messages Arriving over TCP
Persistent Event Stream Maps
Persistent events are persistent. Event messages are considered to be persistent if they are placed onto non-volatile storage media after they arrive on the broker. They are suitable to application design patterns where events are required to be:
- Processed in-order of receipt.
- Available to consumers, even if those consumers are off-line.
- Able to survive the loss of an event broker.
How are persistent events processed?
There are three pieces to the puzzle, which we'll examine in detail in the upcoming sections:
- Producer-side processing: Producer-Side Processing of Persistent Events
- And internal PubSub+ processing by the Data Plane Tasks: Data Plane Tasks for Persistent Event Streams
- Consumer-side processing: Consumer-Side Processing of Persistent Events
Producer-Side Processing of Persistent Events
Operations the Data Plane Task performs