MySQL路由器8.0  /  附录 A MySQL 路由器常见问题解答

附录 A MySQL 路由器常见问题解答

A.1. 我在哪里安装 MySQL 路由器?
A2。 我可以运行路由器应用程序的多个实例吗?
A.3. 如何使路由器应用程序具有高可用性?
A.4. 路由器是否检查数据包?
A.5. 路由器会影响性能吗?
A.6. 请解释不同的 MySQL Router 版本,特别是为什么 Router 从 2.1.4 升级到 8.0.3。
A.7. 路由器可以绑定多个IP地址吗?
A.8. 不同的调度模式和策略有什么区别?
A.9. 每个 MySQL Router 实例支持多少个并发连接?
A.10. 如何将 MySQL Router 配置为在使用 AppArmor 的系统上使用非默认目录?

A.1.

我在哪里安装 MySQL 路由器?

为了获得最佳性能,MySQL Router 通常安装在与使用它的应用程序相同的主机上。这样做可以减少网络延迟,允许本地 unix 域套接字连接到应用程序而不是 TCP/IP,并且通常应用程序服务器最容易扩展。但是,这不是必需的,因为路由器可以安装在任何主机上,甚至是它自己的主机上。

笔记

Unix 域套接字可以与连接到 MySQL 路由器的应用程序一起使用,但不能用于连接到 MySQL 服务器的 MySQL 路由器。

A2。

我可以运行路由器应用程序的多个实例吗?

是的,另请参阅 --directory引导程序选项。

A.3.

如何使路由器应用程序具有高可用性?

使用 MySQL Router 作为 InnoDB Cluster 的一部分。有关其他详细信息,请参阅MySQL AdminAPI

A.4.

路由器是否检查数据包?

不。

A.5.

路由器会影响性能吗?

在通信流中引入组件会产生一定的开销;这在很大程度上受到工作量的影响。幸运的是,当前版本的性能测试显示,在与直接连接相同的速度下,对于简单的重定向连接路由,速度大约为 1%。

A.6.

请解释不同的 MySQL Router 版本,特别是为什么 Router 从 2.1.4 升级到 8.0.3。

MySQL Router 2.0 是初始版本,适用于 MySQL Fabric 用户。它已被弃用,不再受支持。

引入了 MySQL Router 2.1 以支持 MySQL InnoDB 集群,并且还添加了诸如引导程序之类的新功能。

MySQL Router 8.0 在 MySQL Router 2.1 的基础上进行了扩展,但版本号与 MySQL Server 一致。换句话说,Router 2.1.5 作为 Router 8.0.3 发布(连同 MySQL Server 8.0.3),2.1.x 分支被 8.0.x 取代。这两个分支完全兼容。

A.7.

路由器可以绑定多个IP地址吗?

不,bind_address配置文件中的选项只接受一个地址。但是,可以使用bind_addres = 0.0.0.0绑定到本地主机上的所有端口。

A.8.

不同的调度模式和策略有什么区别?

在 8.0 版本之前,mode 选项决定了调度策略。设置 mode=read-write意味着路由器使用第一个目标主机直到它失败,然后移动到下一个直到所有主机都尝试过并且失败。设置 mode=read-only以循环(循环)方式重试先前可能失败的服务器的主机目的地列表循环。

路由器 8.0 引入了该 routing_strategy选项以替代现已弃用的mode选项。它提供first-availablenext-availableround-robinround-robin-with-fallback策略。有关更多详细信息,请参阅routing_strategy 文档。

next-available路由策略与读写模式的调度 相同,循环路由策略与只读 模式的调度相同。

A.9.

每个 MySQL Router 实例支持多少个并发连接?

从 MySQL Router 8.0.22 开始超过 50,000,这取决于系统的轮询(poll 或 linux_epoll)限制,也取决于可用 CPU 内核/线程的数量。

早期的 MySQL Router 版本的限制接近 5000,具体取决于操作系统的 poll() 限制。

A.10.

如何将 MySQL Router 配置为在使用 AppArmor 的系统上使用非默认目录?

如果您--directory 在使用 AppArmor 的系统(例如 Ubuntu)上使用该选项,您可能会遇到与 MySQL Router 访问非默认目录相关的权限错误。在这种情况下,请按照提示将您传递的路径添加 --directory到 AppArmor 文件中,然后重新启动 AppArmor。