Review of "Making Geo-Replicated Systems Fast as Possible, Consistent when Necessary"
As more and more online services leverage geo-replicated services, cross-site consistency is becoming more and more needed for various systems. This paper proposes RedBlue consistency to meet this requirement.
RedBlue consistency, in other words, is a combination of strong consistency and eventual consistency. In which blue consistency is used for low latency operations, whereas red consistency is used for those that requires transaction be serially executed. This coexistence of multiple consistency levels gives application the flexibility to choose the appropriate level of consistency as per the business logic requirements.
In order to use fast operation as much as possible, and only resort to strong consistency when it's needed, this paper also identifies conditions delineating when operations can be blue and must be red as RedBlue consistency doesn't ensure a priori that the system achieves state convergence and invariant preservation. The key idea is to split the original application operation into two sub actions, a generator operation with no side effects, it will only be executed on the primary site and transform the primary site to a new state and then produce a shadow operation, which will be executed on every other site. Based on this, it gives the procedure to decide what operations need to be absolutely red.
Will this paper be influential in 10 years? Maybe, not only does it propose a consistency model that's flexible enough to cater for both low-latency and strong consistency, it also gives out guidelines on how to practice based on this consistency model to leverage as much as low-latency as possible.