Consistency
In the previous chapters, we have spent a lot of energy splitting our system into multiple, fine-grained independent components. For example, the LC application is submitted against the command-side component, whereas the status of the LC application is serviced by the query side. Because these are distinct components, there will be a time lag during which the two systems are not consistent with each other. So, querying the status of an LC application immediately after submitting may produce a stale response until the time that the query side processes the submit event and updates its internal state. In other words, the command side and the query side are considered to be eventually consistent. This is one of the trade-offs that we need to embrace when working with distributed systems.
Eric Brewer (professor emeritus of computer science at the University of California, Berkeley) formalized the trade-offs involved in building distributed systems in what is called the...