请问一下群里的各位老师,生产环境
1.MGR 架构用的多嘛,用着稳定嘛
2.是和mysql router 搭配着用嘛,mysql router 的高可用怎么解决呢
谢谢
1 个赞
MGR(MySQL Group Replication)基于 Paxos 协议 ,能保证数据的强一致性 。只要多数派节点存活,集群就能自动选主并继续提供服务.
但是网络延迟 网络抖动 ,或者有大事务, 那不适合.
也可以选 proxysql
8.0版本MySQL基本都是mgr,已经比较稳定了。
可以配合mysqlrouter,也可以使用proxysql,使用lvs这类的软件实现mysqlrouter高可用。
也可以不使用中间件,使用vip或者域名访问mgr
用过一段时间,放弃了
- 刷数据这种涉及大量数据变更的场景(有做分批控制),容易导致集群异常,做了限速后效果也不太理想
- 停电重启比较头大,要手工找主节点
- 如果不搭配 router 之类的中间件,高可用能力体现不出来,搭配的话,意味着额外的部署/维护成本
MGR 在生产环境中有一定普及率,但远低于 TiDB 原生集群架构,核心使用场景集中在:
- 存量 MySQL 集群向分布式架构迁移的过渡阶段(复用 MySQL 生态、降低迁移成本);
- 中小规模业务(数据量 < 10TB、QPS 中等),对分布式事务、弹性扩缩容要求不高的场景;
- 业务强依赖 MySQL 语法 / 生态,且暂时无法适配 TiDB 少量兼容差异的场景。