51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 5343|回复: 0
打印 上一主题 下一主题

MySQL Router简介

[复制链接]
  • TA的每日心情
    开心
    2020-5-23 09:40
  • 签到天数: 101 天

    连续签到: 1 天

    [LV.6]测试旅长

    跳转到指定楼层
    1#
    发表于 2019-9-6 09:14:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    简介

    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-writeread-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性能损失很小。




    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-27 09:43 , Processed in 0.068358 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表