千家信息网

​MySQL Router的案例分析

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,这篇文章主要介绍了MySQL Router的案例分析,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。MySQL Router用于取代MySQ
千家信息网最后更新 2024年11月26日​MySQL Router的案例分析

这篇文章主要介绍了MySQL Router的案例分析,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

MySQL Router用于取代MySQL Proxy,建议MySQL Router与应用程序部署在一台机器。应用程序像访问MySQL一样访问MySQL Proxy,由MySQL Proxy将数据转发给后端的MySQL。支持各种操作系统。

工作模式

read-write

用于多主服务器,个人感觉也可用于主备,用于多主可以避免脑裂问题,但实际上多主只有一个为Active状态。并且MySQL的主从和多主复制恢复起来都比较麻烦,需要手工操作。相比之下MySQL Group Replication提供了更简单的集群自动维护方案。

所有请求被发送到第一个服务器,只在第一个服务器宕机后才会使用后续的第二个服务器。

不支持宕机服务器恢复检测

以下两种情况下将无法使用

从先宕机,然后恢复,主再宕机

主先宕机,然后恢复,从再宕机

[routing:example_strategy]bind_port = 7001destinations = master1.example.com,master2.example.com,master3.example.commode = read-writ

read-only

用于路由从服务器集群。

每个请求用轮询方式访问所有服务器。如果一个服务器宕机,会尝试使用下一个服务器。如果所有服务器宕机,路由将退出。重新可用的服务器会被按照原来的顺序重新加入到可用列表

[routing:ro_route]bind_port = 7002destinations = slave1.example.com,slave2.example.com,slave3.example.commode = read-only

启动

mysqlrouter --config=/path/to/file/my_router.ini

需要将数据库连接池的maxStatements=0设置为0,否则当主机宕机后,连接池将无法在备机上找到对应的Statement而报错。

性能

远高于MySQL Proxy,相比较于直连MySQL性能损失很小。

感谢你能够认真阅读完这篇文章,希望小编分享MySQL Router的案例分析内容对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,遇到问题就找,详细的解决方法等着你来学习!

0