BASE思想与ACID原理截然不同,它满足CAP原理,通过牺牲强一致性获得可用性,一般应用于服务化系统的应用层或者大数据处理系统中,通过达到最终一致性来尽量满足业务的绝大多数需求。
BASE思想的三个元素。
BA:基本可用(Basically Available)。
S:软状态,状态可以在一段时间内不同步(Soft State)。
E:最终一致性,在一定的时间内,最终数据达成一致性即可。(Eventually Consistent)
软状态是实现BASE思想的方法,基本可用和最终一致性是目标。以BASE 思想实现的系统由于不保证强一致性,所以系统在处理请求的过程中可以存在短暂的不一致,在短暂的不一致的时间内,请求处理处于临时状态中,系统在进行每步操作时,通过记录每个临时状态,在系统出现故障时可以从这些中间状态继续处理未完成的请求或者退回到原始状态,最终达到一致状态 。
有了BASE 思想作为基础,我们对复杂的分布式事务进行拆解,对其中的每个步骤记录其状态,有问题可以根据记录的状态来继续执行任务,达到最终一致性。
说明:
1、参考书籍:《分布式服务架构:原理、设计与实战》
2、如有不合适的地方请反馈。综合后更改。