Reliable messaging
Another important aspect of a Distributed Data Intensive System is reliable messaging. By reliable messaging, we mean that if a message publisher publishes a message, then we provide him with a guarantee that the message will not be lost during transit. It does not mean that the message is successfully consumed by the consumer. What it means is that the messaging system will not lose the message for an agreed SLA time duration. If the consumer is not able to consume the message within the SLA, it is up to the messaging system to decide what to do with the message. The message can be permanently deleted, put in a Dead Letter queue, or persisted outside of the messaging system.
Reliable delivery requirements also vary from system to system. There are usually three types of Reliability guarantees that an application would require, they are as follows:
- At-least-once delivery: This requirement states that a message published by a publisher should be delivered at least once to...