Durability vs. Reliability


Many people tend to either confuse these concepts or assume they are the same.  This is a quick write up to clarify that these are two fundamentally different yet critical concepts.

Message reliability focuses on the delivery of messages. Message reliability means a message needs to be delivered at least once with possible duplicates or at most once with no duplicates.  Reliability also dictates whether messages must be delivered in the same order they were sent or can be delivered out of order.

Message durability focuses on the management of messages.  Message durability dictates whether a message can be simply kept in-memory or if it must be saved to persisted storage to avoid message loss (in-memory messages are lost during system, network or power failures).  Durable messaging also enables operations to resolve issues in an much easier manner than relying solely upon reliable messaging.  When a durable messaging solution experiences an exception or outage it is much easier to determine the state of the transactions and restore/replay messages from a known state without losing any messages.

Now you know.

 


Comments (1)
  1. simplifying the definitions:

    reliability – the message is delivered (reaches the target) as expected

    durability – the message persists in case of failure or other unexpected events

    We can talk also about system reliability, and durability of messages is then a mean of achieving reliability.

Comments are closed.

Skip to main content