分布式--简单介绍分布式算法

   今天小编只是简单介绍一下分布式算法,大家先看看有什么就可以,关于分布式小编会继续研究,继续分享的。

   1.计时模型算法

     分类:同步,异步,部分同步
    同步:字节调用执行,组件之间按照步骤执行,这个模型无法反应现实情况,实质在分布式的情况下很少有真正的同步,这个模型会带来各种阻塞
    异步:异步有点儿复杂,组件之间的动作按照他们自己的顺序要求进行。 这个模型接近于显示状况,但是也不是完美的
    部分同步:需要访问同步时钟,有关于传递消息的多长的限制。
  2.进程间通信算法
     (1).消息传递:通过消息发送通讯
     (2).共享内存:访问内存中共享变量共享数据进行通讯。
3.失败模型算法
   分类:crash-stop,crash-recovery,遗漏模型三种
4.失败探测:
      希望在进程崩溃失败时及时发现,例如我们可以给crash-stop失败模型加上同步系统,我们能够使用timeout,如果我们定期让进程ping到一个专门的失败探测器,我们就能知道那个进程是否正常,如果过了timeout没有ping访问,那么我们可以认为这台进程服务器崩溃了。
   失败探测模型有两个属性策略:
   (1).Strong Completeness(强完整性)每个失败的进程会永久被其他正确进程怀疑
   (2).Eventual Strong Accuracy最终强精确度,没有一个进程被任何正确的进程怀疑
     当一个进程被其他进程怀疑时,这些进程就不可能达成共识,在分布式系统中使用异步模型是必须要达成共识的,也就是每个进程内部状态通过异步消息传递后,最终其他进程的状态回合最初发送消息的那个进程内部状态一致,这称为达成共识。但是以为有进程存在失败崩溃的可能,所以在这个达成共识的消息传递过程中,如何确保进程之间的信任。不怀疑对方,从而确保消息传递成功,从而引入失败探测器是可以规避这个问题。
5.领导人选举:
       可以被网络中其他进程信任,负责协调分布式工作,协议有Raft和Zab协议。
6.一致共识CONSENSUS
一个金曾实现共识是通过暴露带有推荐和决定功能的API实现的,一个进程会推荐数值,由此开始共识,然后他得基于一个数值决定,这个数值在整个系统中被推荐了,这些算法包括:
(1).Termination:每个正确的进程最终会决定某个数值
(2).Validity:如果一个进程决定了v,那么v会被其他进程推荐
(3).Integrity:没有进程能够决定两次
(4).Agreement:没有两个正确进程有不同的决定
7.法定人数QUORUMS:
是一个设计失败容错分布式系统的工具,Raft使用的是这种大多数策略,根据提交到系统的日志来判断
分布式系统时间:时间和其导致的结果是分布式系统的大问题。引入了逻辑时钟的概念,给一个事件分配一个数字没这个数字不是和实际时间有关,但是和一个节点的进程事件有关。
总结:
    关于分布式,是一个比较大的比较深的一块儿,小编很愿意和大家一起学习,一起分享着一块儿。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值