写本篇文章的动机有三点:
本次内容整理参考了3306π社区广州站《MGR Best Practice》万里DB CTO娄帅分享和一些个人的理解认识。本次总结内容如下:
上图引用于官方手册。该架构中包含:MySQL router, MySQL Servers, MySQL Shell。 MySQL router: 属于一个TCP模型的Proxy主要用于流量中转及基于端口号的读写分离。在3306π社区广州站听官方人员透漏基于shared方式的router也快要出来了,敬请期待。 MySQL Servers: 该部分即为MySQL Group Replication即MGR,这个MGR属于Single primary模式。 MySQL Shell: 用于搭建和管理MGR集群的一个客户端工具集。该工具基本是整合了原来官方的mysql utilis工具集。
目前对于使用MGR还是优先建议使用Single Primary结合mysql router使用。MGR本身的是使用InnoDB,所以对于性能方面优化更多还是要关注InnoDB优化,从另一方面讲MGR也是基于GTID复制的另一种实现,另外使用上也有一些限制,我们可以也可以通过明确相应的约束来避免不支持的功能。
以下参数是MGR集群限制的必备参数:
MGR在数据应用实质上还用的sql_thread,所以这块的优化主要是针对复制优化相关的配置。
InnoDB部分参数供大家参考一下,就不在单独解释了。
目前MGR也是官方主推的MySQL InnoDB Cluster主要方案,现在使用的客户比较多,基本可以说比较稳。现在除了官方之外,国内万里数据库也在从事MGR的二次开发工作及商业支持。
如果你对你MGR有较大兴趣,也推荐关注GreatSQL社区公众号
本篇完毕,如果需要完善的地方,可以在评论交流,没有评论的公众号就没有灵魂,一起交流。 同时也希望对更多的朋友有帮助。
本文分享自 MySQLBeginner 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!