What Is Eventual Consistency?
Consistency means that the data remains consistent. In a distributed system, it can be understood that the data values in multiple nodes are consistent. At the same time, consistency means that the basic characteristics or characteristics of transactions are the same, and other characteristics or characteristics are similar [1] .
- In mathematics, consistency refers to
- Consistency can be divided into strong consistency and weak consistency [2] .
Strong consistency
- Strong consistency can be understood as the data in all nodes is the same at any moment. At the same time, the value of key1 you got in node A and the value of key1 you got in node B should be the same.
2. Weak consistency
- Weak consistency includes many different implementations. What is widely implemented in distributed systems is eventual consistency.
3. Eventual consistency
- The so-called final consistency is a special case of weak consistency, which guarantees that the user can finally read the operation to update the system specific data. But over time, the same data on different nodes always changes in the same direction. It can also be simply understood that after a period of time, the data between nodes will eventually reach a consistent state. The best example of eventual consistency is the DNS system. Due to the implementation of DNS multi-level caching, modifying DNS records will not take effect on all DNS service nodes around the world. You need to wait for the DNS server cache to expire and update the new record to the source server. achieve.