发布者:上海IT外包来源:http://www.lanmon.net点击数:887
本文旨在阐述Fault-Tolerant Transaction的几种实现形式。虽然乍一看它们可能都是Raft+KVEngine +Concurrency Control,随意被认为是统一类编制,但实际上的差异很大,在会谈时不该该轻忽它们之间的差异。
一、根基概念
会谈的Fault-Tolerance,指的是经由过程搜集通信的多个计较机节点,在局部节点产生Stop Failure的情形下,仍然死力保证可用性;
不会谈详细的Fault-Tolerance编制,默认读者对Raft等算法有根基理解;
也不会谈详细的Concurrency Control编制,默认读者对其有根基的理解;
会涉及到Spanner、TiKV、MongoDB等详细的数据库。
1、基于RSM的Fault-Tolerant KV
Replicated State Machine最早应该是在『Implementing fault-tolerant services using the state machine approach』提出。它是一种很简单适用的实现容错的编制,焦点思惟是:几个状态机具有不异的初始状态,并且按照同样的挨次实行了同样的呼吁序列,那么它们的终极状态也是一样的。由于状态一样,那么肆意一个状态机宕机,都可以被其他的庖代,是以实现了Fault Tolerant。
分享到: