Mackit 신제품

Mackit — macOS 개발자 캐시 클리너:Xcode / Node / Flutter 등이 남긴 재생성 가능한 캐시를 스캔하고 항목별 위험을 표시해 디스크 공간을 되찾으세요

자세히 보기
안내 2024년 6월부터 개발자 게시판의 새 글 업데이트를 중단했습니다. 방문해 주셔서 감사합니다. 아카이브 글
知识

云计算核心技术docker教程docker swarm 模式raft 共识算法

   

当 docker engine 以 swarm 模式运行时,管理器节点实现 raft 共识算法来管理全局集群状态。

原因docker群模式是使用一个共识算法,以确保那些负责在集群中的管理和调度任务的所有经理节点,都存储相同一致的状态。

在整个集群中具有相同的一致状态代表着在发生故障时,任何 manager 节点都可以接收任务并将服务恢复到稳定状态。比如,如果集群中负责调度任务的leader manager意外终止,任何其他 manager 都可以接手调度的任务并重新平衡任务以匹配所需的状态。

使用共识算法在分布式系统中复制日志的系统确实需要特别小心。它们通过要求大多数节点就值达成一致来确保集群状态在出现故障时保持一致。

raft 最多可以容忍(n-1)/2失败,并且需要大多数或法定人数的 (n/2)+1成员就提议给集群的值达成一致。这代表着在运行 raft 的 5 个 manager 的集群中,如果 3 个节点不可用,系统将无法处理更多请求以安排额外的任务。现有任务继续运行,但如果管理器集不健康,则调度程序无法重新平衡任务以应对故障。

群体模式下共识算法的实现代表着它具有分布式系统固有的特性

1.容错系统中的值达成一致。

2.通过领导人选举过程相互排斥

3.集群成员管理

4.全局一致的对象排序和 cas(比较和交换)原语

的原因是什么