In this article we study the properties of distributed systems that mix eventual and strong consistency. We formalize such systems through acute cloud types (ACTs), abstractions similar to conflict-free replicated data types (CRDTs), which by default work in a highly available, eventually consistent fashion, but which also feature strongly consistent operations for tasks which require global agreement. Unlike other mixed-consistency solutions, ACTs can rely on efficient quorum-based protocols, such as Paxos. Hence, ACTs gracefully tolerate machine and network failures also for the strongly consistent operations. We formally study ACTs and demonstrate phenomena which are neither present in purely eventually consistent nor strongly consistent systems. In particular, we identify temporary operation reordering, which implies interim disagreement between replicas on the relative order in which the client requests were executed. When not handled carefully, this phenomenon may lead to undesired anomalies, including circular causality. We prove an impossibility result which states that temporary operation reordering is unavoidable in mixed-consistency systems with sufficiently complex semantics. Our result is startling, because it shows that apparent strengthening of the semantics of a system (by introducing strongly consistent operations to an eventually consistent system) results in the weakening of the guarantees on the eventually consistent operations.
翻译:在本篇文章中,我们研究了混合最终和强烈一致性的分布式系统的性质。我们通过急性云型(ACTs)和类似无冲突复制数据型(CRDTs)的抽象性(CRDTs)使这些系统正规化,这些系统默认地以高度可用的方式工作,最终以一致的方式进行,但也有很强的一致运作,对于需要达成全球协议的任务,这些系统也具有很强的一贯性。与其他混合一致的解决办法不同,ACTs可以依赖高效的法定人数协议,如Paxos。因此,ACTs优雅地容忍机器和网络故障也有利于高度一致的操作。我们正式研究ACTs,并展示在纯最终一致的系统中并不存在的现象。我们特别发现临时操作重新排序,这意味着在客户请求执行相对顺序的复制之间暂时存在分歧。当没有认真处理时,这种现象可能导致不可取的异常,包括循环因果关系。我们证明不可能得出一个结果,即临时操作重组在具有足够复杂的语义性的混合系统中是不可避免的。我们的结果是惊人的,因为它表明系统在最终稳定地削弱系统的操作结果。