我一直在阅读有关使用Redis哨兵进行故障转移的信息。我计划拥有1个主设备+ 1个从设备,如果主设备停机超过1分钟,则将从设备转为主设备。我知道Sentinel可以100%实现这一目标。
但是,我看到文档中提到了多个Sentinels的使用。让我们假设这是不可能的(即预算或技术限制)。我假设我可以有这样的配置:
拥有多个哨兵而不是1个哨兵有什么好处?我的应用程序一次只能连接到1个标记,即使有2个标记,我的应用程序也无法旋转或在其中任何一个之间切换,如果在我的应用层中出现一些复杂的逻辑。
仅当位于不同位置的服务器时,才可以进行此配置在那种情况下,它没有SPOF,因为2台服务器同时失败的可能性非常低。如果Sentinel失败,您可以快速注意到它并使用ansible修复/启动新的。
这个配置对我有用2年,HA和FO工作得很好。