[英]Is leader election used for active/partial standby use cases for microservice replicas?
对于微服务 HA,我知道有“Active/Active”配置以及“Active/Standby”配置。
我想知道您是否可以将领导人选举用于中间的某些事情。 例如,假设有 3 个微服务都分担处理总线消息并将它们存储在数据库中的负载。 但是只需要其中一个来进行日常数据库清除。 您是否可以使用领导者选举来确定应该由哪一个来完成该任务?
或者这总是一个糟糕的设计,您应该为此使用单独的应用程序吗?
在多个节点以相同方式运行的分布式系统中,我们将此环境称为无领导者。 顾名思义,没有领导者可以跟随。 每个节点都可以执行相同的操作集。
如果有需要在单个节点上运行的特殊操作,则有多个选项:
让我们检查第一个选项。 如何保证只有一个节点可以执行操作?
*领袖选举是一种专门的共识协议
领导者选举是一个复杂的问题,因为您必须解决很多问题,例如:
这些问题在 Paxos、Raft 和 ZAB 协议中或多或少地得到了解决。
我并不是说领导人选举在这里是一个坏主意,但它肯定会使您的系统更加复杂。 而且很难以正确的方式实施。
我还想强调,LE 在那些需要协调器(如数据复制)的复杂流程/逻辑的用例中大放异彩。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.