MySQL Router简介

MySQLRouter作为MySQLProxy的替代品,常与应用部署在同一机器上,提供读写和只读两种工作模式。读写模式下,请求首先发送至主服务器,主服务器故障后才切换到其他服务器,不支持自动检测恢复。只读模式采用轮询方式访问从服务器,任一服务器宕机后会尝试其他服务器。MySQLRouter启动需指定配置文件,并确保数据库连接池设置正确。其性能优于MySQLProxy,对MySQL直连的性能影响极小。
部署运行你感兴趣的模型镜像

参考资料:https://dev.mysql.com/doc/mysql-router/2.0/en/mysql-router-configuration-file-example.html

简介

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Li7FCZ30-1661158542652)(https://dev.mysql.com/doc/mysql-router/2.0/en/images/mysql-router-architecture.png)]

工作模式

read-write

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

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

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

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

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

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

read-only

用于路由从服务器集群。

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

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

启动

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

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

性能

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

您可能感兴趣的与本文相关的镜像

Yolo-v8.3

Yolo-v8.3

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值