分布式--简单介绍分布式算法
Posted wangdan1030
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式--简单介绍分布式算法相关的知识,希望对你有一定的参考价值。
今天小编只是简单介绍一下分布式算法,大家先看看有什么就可以,关于分布式小编会继续研究,继续分享的。
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使用的是这种大多数策略,根据提交到系统的日志来判断 分布式系统时间:时间和其导致的结果是分布式系统的大问题。引入了逻辑时钟的概念,给一个事件分配一个数字没这个数字不是和实际时间有关,但是和一个节点的进程事件有关。
总结:
关于分布式,是一个比较大的比较深的一块儿,小编很愿意和大家一起学习,一起分享着一块儿。
以上是关于分布式--简单介绍分布式算法的主要内容,如果未能解决你的问题,请参考以下文章