领导人选举模式 Leader Election Pattern

未匹配的标注

描述

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

背景和问题

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

解决方案

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

监控策略

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

选举策略

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

注意事项

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

何时使用

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

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

上一篇 下一篇
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
发起讨论 只看当前版本


暂无话题~