我有一个项目,我有多个节点提供服务。一个(且只有一个)节点需要充当主节点来为所有剩余节点编排某些功能。如果主节点消失,我需要剩余的节点来检测并协商新的主节点。我正在寻找可以指导我实施的设计模式和/或算法。
Windows的“计算机浏览器服务”和数据库体系结构提供了一些类比,虽然我可以找到单主设计概念的高级描述,但它们往往过于含糊。我需要更详细的东西,可以向我展示谈判,握手等的例子......代码示例会很棒,但序列图或类似的东西也会很好。
有人可以提出任何建议吗?
答案 0 :(得分:0)
希望其他人能够更好地回答这个问题(我会删除我的答案),但是当我第一次阅读你的问题时,我立即想到了Erlang编程社区中使用的OTP概念。搜索:OTP Erlang(OTP是Erlang的核心,你应该找到很多结果)
你应该看看的另一件事是Nagios监控系统。我不认为Nagios受到了OTP的启发,但我认为你会发现那些人得出了OTP使用的几个相同的结论和基本原则。