面试题答案
一键面试priority参数
- 作用:
priority
表示优先级,取值范围是0 - 1000。优先级越高,在选举主节点(Primary)时越有可能被选为Primary。优先级为0的节点永远不会被选举为Primary,通常用于数据备份或只读节点。
- 不同业务场景设置:
- 高可用性场景:将处理关键业务操作且性能较好的节点设置较高优先级,比如优先级设置为100,这样在主节点故障时,这些高优先级节点能快速被选举为新的主节点,保障业务的持续运行。
- 负载均衡场景:如果希望多个节点都有机会成为主节点,可以将多个节点的优先级设置为相近的值,例如都设置为50,这样在选举时各个节点被选中的概率较为均衡,有助于分散负载。
votes参数
- 作用:
votes
表示投票权,每个节点默认有1票。在选举过程中,节点会给自己投票,拥有投票权的节点参与选举并决定哪个节点成为Primary。只有拥有投票权的节点才能投票选出主节点。
- 不同业务场景设置:
- 关键节点优先场景:对于承担关键业务逻辑且可靠性高的节点,可以保持其默认的1票,甚至可以适当增加票数(如设置为2票),以确保这些节点在选举中有更大影响力,能让合适的节点成为主节点。
- 降低特定节点影响场景:对于一些辅助节点(如用于监控或测试的节点),可以将其
votes
设置为0,使其不参与选举投票,避免这些节点对选举结果产生不必要的干扰。