
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在前几期的文章中给大家简单介绍了分布式编程开发架构的一些基础知识等内容,而本文我们就通过案例分析来了解一下,分布式架构一致性问题分析。
1)事务的四大特征
原子性(Atomicity)。
一致性(Consistency)是指通过事务保证数据从一种状态变化到另一种状态。
隔离性(Isolation)是指事务内的操作不受其他操作影响,当多个事务同时处理同一个数据的时候,多个事务之间是互不影响的。
持久性(Durability)是指事务被提交后,应该持久化,永久保存下来。
2)CPA定理
该定理认为对于一个分布式计算系统来说,不可能同时满足以下三点:
一致性(Consistence)
可用性(Availability)
分区容错性(Partitiontolerance)
分布式意味着必须满足分区容错性,也就是P,因此一般只能是AP或CP。
3)BASE理论
BASE理论的核心思想是:如果无法做到强一致性,或者做到强一致性要付出很大的代价,那么应用可以根据自身业务特点,采用适当方式来使系统达到终一致性,只要对终用户没有影响,或者影响是可接受的即可。
BA:BasicallyAvailable,基本可用。
S:Softstate,软状态。
E:Eventuallyconsistent,终一致。
4)Quorum机制(NWR模型)
如果多个服务分别向三个节点写数据,为了保证强一致,就必须要求三个节点全部写成功才返回;同步写三个节点的性能较低,如果换一个思路,一致性并不一定要在写数据的时候完成,可以在读的阶段再决策,只要每次能读到新版本即可。
Quorum机制就是要满足公式W+R>N,式中N代表备份个数,W代表要写入至少W份才认为成功,R表示至少读取R个备份。
5)租约机制(Lease)
如果现在我们有三个节点,为了实现一致性,要确保有且只有一个是Leader,另外两个为Follower,只有Leader是可写的,Follower只能读。管理节点M通过心跳判断各个节点的状态,用M去指定Leader,一旦Leader死掉,就可以重新指定一个Leader。
6)脑裂问题
一种是采用投票机制(Paxos算法)。
一种是采用租约机制——Lease,租约机制的核心就是在一定时间内将权力下放。
7)分布式系统的一致性分类
建立多个副本。可以把副本放到不同的物理机、机架、机房、地域,当一个副本失效时,可以让请求转到其他副本。
对数据进行分区。复制多个副本解决了读的性能问题,但是无法解决写的性能问题。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。