领导人选举模式 Leader Election Pattern

未匹配的标注

描述

    通过协调合作,在分布式应用程序的任务实例集合中,选举一个实例作为管理的其他实例的领导者。这个模式可以有助于确保任务实例不互相冲突,避免争用共享资源。

背景和问题

    一个分布式应用包括很多任务。这些任务可以是相同代码,或者访问相同资源,或者并行工作。这些工作的运行需要相互协调,确保它们不发生冲突,避免争用共享资源。

解决方案

    任务实力集合中的其中一个任务实例充当领导者,协调其他任务实例完成任务。选举过程必须谨慎,防止在同一个时间有多个实例接管领导者的角色。

监控策略

下属者通过轮询或者心跳机制监控领导者,如果领导者意外终止或者网络故障,那么下属者会选出新的领导者。

选举策略

  1. bully算法
  2. 环算法
  3. Paxos算法

注意事项

  1. 需要有检测领导失败或变成不可用的机制。
  2. 关闭一些下属任务,可能会导致领导者终止。
  3. 使用一个专用进程的领导者是一个比较简单的方法。

何时使用

多个任务,并且需要协调各个任务完成工作。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
发起讨论 只看当前版本


暂无话题~