Scalability, high availability, containers, fault tolerance and eventual consistency. Tech terms can be confusing to those new to server administration or development. In the coming weeks, we’ll be breaking down common — yet potentially confusing — terms you will undoubtedly come across in your learning journey.
Earlier on the Linux Academy blog, we addressed the topic of NoSQL databases; one of the qualities of these databases often being eventual consistency. However, what does eventual consistency actually entail? What are the benefits and trade-offs of an eventually consistent system?
Eventual consistency relies on having a distributed system, or one that utilizes multiple nodes to share the work. Centralized systems cannot be eventually consistent.
Environments that rely on eventual consistency allow for a change to happen on one of the node replicas that is eventually propagated to the other nodes. This process is not instantaneous, although the time it takes for all nodes to reach the same, updated state depends on how the nodes are configured to handle the data. This is done through synchronous messaging or asynchronous messaging. (more…)