高可用 | 关于 Xenon 高可用的一些思考
原创:知数堂
上一篇文章,我们详细介绍了 Xenon 实现 MySQL 高可用架构的常用操作。本篇将对关于 Xenon 高可用的一些思考及高频问题进行解答。
问题 1:宕机时 binlog 有 gap 会补日志吗?
Xenon 不会补日志,Xenon 只会从包含最大 GTID 的所有 Follower 中选举一个 Follower,使之成为 Leader 。重新配置主从复制,并把 VIP 切换到新的主节点上。
注意: 如果此时主从有延时,当主库异常,新主上存在还未应用的 Relay Log 时,新主将会被置为 Read-Only 状态,等待 Relay 应用完毕后,才会开启 Read-Write 状态。这样可保障数据强一致性。
问题 2:宕机节点如何恢复?
Xenon 会自动把恢复的节点以 Follower 角色加入集群,也可以用 rebuildme
命令重建。
问题 3:3 个节点允许几个节点宕机?
3 个节点最多允许 1 个节点宕机。
关于节点个数,Xenon 目前不支持 2 节点,最少 3 个节点,最多没有明确上限,可配置超过 13 个节点。但考虑到从节点的数据来自主节点,因此建议配置 3 或 5 个节点。
问题 4:Xenon 主节点宕机后,会出现主从切换异常的场景吗?
除非集群 3 个节点之间网络互相不通,或者超过半数节点的 MySQL 宕机了,否则肯定能完成选主切换。
若出现主从切换异常,请优先排查集群间网络连通情况。
问题 5:Xenon 推荐使用哪个版本,受 MySQL 版本影响吗?
推荐使用 Xenon 最新的 Release 版本,当前是 v1.1.4 版本
优化了高可用选举逻辑,可更快选出主节点;
新增按指定角色启动特性,以确保升级 Xenon 期间不会触发 MySQL 主从切换。
参考链接:https://github.com/radondb/xenon/blob/Main/docs/how_xenon_upgrades.md
问题 6:目前 Xenon 支持 MySQL 哪些版本,支不支持 MySQL 8.0?
Xenon 同时支持 MySQL 5.6、5.7、8.0 版本,而 MySQL 官方预计在 2021 年 10 月后将不再维护 5.7 版本。
因此选择使用 Xenon 时,优先推荐 MySQL 8.0 版本。
问题 7:主节点宕机又恢复是如何运行的,会自动加入集群吗?
例如,主节点 a 正常时,a->b,a->c。若 a 宕机了,切换成了 b 为主节点,则有 b->c。a 恢复后,会自动作为从节点加入集群,则有 b->a。
问题 8:为适配 Xenon,MySQL 哪些参数需要特别设置?
为适配 Xenon 性能,MySQL 部分参数需提前配置,特别是在金融业务应用场景下。以下提供部分 my.cnf
参数配置作为参考。
问题 9:Xenon 集群中与时间相关的参数有哪些?
请参考:
相关阅读
版权声明: 本文为 InfoQ 作者【RadonDB开源社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/2ceba28e38702babb6c9688f4】。文章转载请联系作者。
评论