MySQL 路由器 8.4  /  MySQL 路由器常见问题解答

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

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

A.1.

我应该在哪里安装 MySQL 路由器?

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

注意

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

A.2.

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

可以,另请参阅 --directory 引导选项。

A.3.

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

将 MySQL 路由器用作 InnoDB 集群的一部分。有关更多详细信息,请参阅 MySQL AdminAPI.

A.4.

路由器会检查数据包吗?

不会。

A.5.

路由器会影响性能吗?

在通信流中引入一个组件会产生一定的开销;这在很大程度上受工作负载的影响。幸运的是,在当前版本上的性能测试表明,对于简单的重定向连接路由,其速度与直接连接的速度大约相同,仅有 1% 的差异。

A.6.

请解释不同的 MySQL 路由器版本,特别是为什么路由器从 2.1.4 变成了 8.0.3。

MySQL 路由器 2.0 是初始版本,适用于 MySQL Fabric 用户。它现已弃用,不再受支持。

MySQL 路由器 2.1 引入是为了支持 MySQL InnoDB 集群,它还添加了引导等新功能。

MySQL 路由器 8.0 在 MySQL 路由器 2.1 的基础上进行了扩展,但版本号与 MySQL 服务器保持一致。换句话说,路由器 2.1.5 发布为路由器 8.0.3(与 MySQL 服务器 8.0.3 一起发布),并且 2.1.x 分支被 8.0.x 分支取代。这两个分支完全兼容。

A.7.

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

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

A.8.

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

路由器 8.0 引入了 routing_strategy 选项。它提供了 first-availablenext-availableround-robinround-robin-with-fallback 策略。有关更多详细信息,请参阅 routing_strategy 文档。

A.9.

每个 MySQL 路由器实例支持多少并发连接?

截至 MySQL 路由器 8.0.22,超过 50,000 个,具体取决于系统的轮询(轮询或 linux_epoll)限制,以及可用的 CPU 内核/线程数量。

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

A.10.

如何配置 MySQL 路由器以在使用 AppArmor 的系统上使用非默认目录?

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


PREV   HOME   UP