信鸽头条
架构师干货总结:保证分布式系统的一致性

2019-08-18 15:47:12   来源:课工场郑州翔天信鸽

相关热词搜索:

随着各种高并发的访问、海量数据处理等应用场景越来越多,为了应对这些使用场景,分布式系统应运而生。

分布式系统得以发展,得益于诸多原因,比如:可以避免单点故障,容易横向扩展等。所谓单点故障指的是:单个组件发生故障会导致整个系统的瘫痪,而横向扩展的意思是我们可以通过增加机器来提高整个系统的性能。当然,分布式系统也存在很多挑战。接下来小编就着重介绍一下分布式系统如何保证数据的一致性。
互联网架构师.jpg

以一个数据存储系统为例,client想要在server上设置一个值。如果一开始有一个server和一个client,那只要一个server完成值的设置即可。但如果有多个server存在,要如何保证所有的server节点上存储的值是一致的呢?

如果各节点的初始状态一致,每个节点执行相同的操作序列,那他们最后就能得到一致的状态。为保证每个节点执行相同的命令序列,需要在每一条指令上执行一个“一致性算法”,以保证每个节点看到的指令一致。

 互联网架构师分布式.jpg
选举和现实社会中的选举制度较像,刚开始没有Leader,所有集群中的参与者都是Follwer。当Follwer超过选举超时时间,没有收到来自Leader的心跳报文,就会成为Candidate,增加任期并向其他节点发起新的选举请求。接收到请求的节点如果还没有投票,则投票给该节点,并重置自己的超时时间。

如果某个Candidate节点接收到的选票个数占大多数(超过二分之一),它就会成为Leader节点,这就是所谓的Leader election过程。每隔一定时间向Follower发送心跳报文来保持自己的“统治地位。

好了,课工场郑州翔天信鸽软件学院今天就为大家分享到这里了,如果各位小伙伴想了解相关的IT知识可以关注我哦~想要学习IT相关课程可以登录课工场郑州翔天信鸽软件学院官网http://www.zz-kgc.com报名咨询哦~
课工场郑州翔天信鸽软件学院是专注做IT职业教育的学校。针对大专以上学生,开设有Java培训、云计算培训、大数据培训、UI培训等课程,结合企业需求,以高薪就业为导向,培养契合企业需求的高端互联网人才。我们只推荐适合你的专业课程,助你成为更好的自己!
*部分素材来源网络

扫码获取更多
干货信息和视频教程
跟IT大咖专家一起交流学习
姓名
电话
QQ
推荐阅读
最新就业喜报
  • 祝贺T74班-刘*平入职郑州亿恩科技,月薪15000

  • 祝贺T73班-李*权入职郑州景安科技,月薪9500

  • 祝贺T94班-吴*同学入职郑州*汪洋科技,月薪15000

  • 祝贺T42班-张*君入职上海*海医疗,月薪6000+

  • 祝贺T52班-刘*同学入职郑州*凯德装饰,月薪8000+

  • 祝贺T37班-李*慧入职上海市*承机电工程有限公司,月薪8000+

  • 祝贺T94班-古*杰入职中国人寿郑州分公司,月薪9000+

  • 祝贺T26班-林*耿入职*龙桥科技有限公司,月薪9500(包吃住)

  • 祝贺T59班+李*强入职*郑州*设计有限公司,月薪7000

  • 祝贺T40班-李*同学入职上海市*家顺,月薪9000+

  • 祝贺T84班-李*深入职上海市*家文化传播有限公司,月薪8500+

  • 祝贺T106班-黄*英入职上海市*尔康净水科技有限公司,月薪9000+

  • 祝贺T46班-龚*峰入职上海*宝通广告有限公司,月薪8000+

  • 祝贺T74班-刘*同学入职上海市*一策划公司,月薪7000+

  • 祝贺T76班-王*同学入职*飞丝电子有限公司,月薪7600

  • 祝贺T99班-张*婵入职上海市*美姿美业文化传播有限公司,月薪9500+

  • 祝贺T27班-潘*东入职上海*速一元购,月薪8500+

  • 祝贺T84班-范*同学入职上海市*健康管理有限公司,月薪8000+

  • 祝贺T77班-周*峰入职上海市有限*科技有限公司,月薪9000+提成

  • 祝贺T80班-王*孝入职上海*博软件技术有限公司,月薪9000