热搜:
下载MySQL Router 8.0.18 官方版【x64】

MySQL Router 8.0.18 官方版【x64】

更多
  • 软件大小:105.00MB (110,100,480 字节)
  • 软件类别:编程书集 -> 数据库类
  • 软件授权:免费软件      软件语言:简体中文
  • 更新时间:2020/09/22
  • 软件厂商:
  • 软件官网:
  • 应用平台:
标签
软件介绍
热度:0

MySQL Router是一个轻量级的中间件,提供了应用程序与后端数据库的透明路由,是mysql用来实现负载均衡和高可用功能。同时router也提供了使用fabric 高可用的方式。MySQL Router就是一个轻量级的中间件用来实现高可用和扩展性的功能。MySQL Fabric最大的一个缺点是应用需要改造,用Fabric独有的Java或python驱动,并且目前只支持Java,Python php语言,即MySQL Fabric是在驱动层面实现的高可用和扩展功能。而MySQL Router是一个中间件,该中间的访问协议与MySQL一致,应用不需要做任何的修改。

MySQL Router配置文件:

[DEFAULT]

logging_folder = /var/log/mysqlrouter

[logger]

level = INFO

[routing:failover]

bind_address = 10.166.224.50

bind_port = 7001

max_connections = 1024

mode = read-write

destinations = 10.166.224.33:3310,10.166.224.34:3310

[routing:balancing]

bind_address = 10.166.224.50

bind_port = 7002

connect_timeout = 3

max_connections = 1024

mode = read-only

destinations = 10.166.224.33:3310,10.166.224.34:3310

通过该配置文件启动MySQL Router会监听两个端口10.166.224.50:7001和10.166.224.50:7002。10.166.224.50:7001是一个高可用的端口(mode=read-write),通过7001的端口访问MySQL Router中间件会首先将请求发送到服务器10.166.224.33:3310,如果确定该服务器宕机,则会发送到服务器10.166.224.34:3310。10.166.224.50:7002是一个负载均衡的端口,每个都请求可以将通过roundrobin的方式发送到destiantions对应的MySQL服务器。通过MySQL Router用户可以快速实现一个简单的带有读写分离的高可用集群。MySQL Router甚至可以链接MySQL Fabric的元数据库,具体可查看MySQL Router的相关文档。

测试体验:

MySQL Router之前官方的中间件是MySQL Proxy,这么多年一直是alpha版本,堪称业界奇迹。不过随着MySQL Router的发布,官网其实已经无法直接下载MySQL Proxy了。但Inside君还是决定对MySQL Router和MySQL Proxy做一个简单的性能测试。测试场景是全内存的SELECT操作,测试工具使用sysbench,测试环境是网易云主机。最终的测试结果如下图所示:

测试使用16线程的select.lua脚本的测试,对比远程客户端直连MySQL,远程客户端连接MySQL Router,远程客户端连接到MySQL Proxy,后两者需要再进行一个转发才能连接到目的MySQL数据库,因此性能肯定会比直连MySQL方式要差。从结果看MySQL Router比直连MySQL性能要差15%,QPS平均值接近20000。但是MySQL Proxy的测试结果QPS仅5700,简直惨不忍睹。导致这样结果最重要的原因是MySQL Proxy采用使用lua脚本语言,测试过程中CPU负载高达290%(4核CPU)。MySQL Proxy测试过程中CPU的使用率在50%左右,表现较为平稳。

看来MySQL Router用来做负载均衡是一个不错的选择,特别是用来做高可用架构下的只读VIP,那么对比传统的LVS性能又会是怎样呢?接着Inside君又对比了MySQL Router和LVS的负载均衡性能测试对比,同样是SELECT全内存测试,但是并发数提升至128个线程。测试结果如下所示:

可以发现在128个线程下单实例MySQL直连模式和MySQL Router中间件模式已经没有太大的区别,QPS都在26000左右。当采用两个MySQL实例实现只读操作的负载均衡时,可以发现MySQL Router的QPS在48000左右,而LVS模式在52000左右,性能提升8%,更为重要的是LVS转发服务器上基本没有什么负载。

MySQL Router优点:

上手快,很容易配置

较为稳定,性能中没有遇到什么问题

插件式的架构允许用户进行额外功能的扩展

缺点:

仅支持简单的负载均衡功能

高可用功能有待进一步测试

虽然支持Fabric元数据,但是不支持分库分表(不得不说是一个遗憾)

白名单,SQL统计功能,防火墙功能缺失

需要gcc 4.8以上版本支持,老系统编译比较麻烦些

软件截图

  • MySQL Router 8.0.18 官方版【x64】第1张

下载地址

MySQL Router 8.0.18 官方版【x64】