MySQL 8.0路由器/一般信息/应用程序的考虑

1.4应用程序的考虑

MySQL路由器使用不需要特定的库或接口。除了管理MySQL路由器实例,编写应用程序像MySQL路由器是一个典型的MySQL实例。

唯一的区别在使用MySQL路由器是如何使连接到MySQL服务器。使用一个MySQL连接的应用程序在启动时不测试连接错误必须被更新。这是因为MySQL路由器重定向连接时,连接尝试,不读包或执行一个分析。如果一个MySQL服务器失败,路由器将连接错误返回给应用程序。

由于这些原因,应用程序应该被写入测试连接错误,如果遇到,重试连接。如果这种技术或类似的工作在您的应用程序中使用MySQL路由器将不需要任何额外的努力。

下面给出了一个更好地理解为什么您可能想要使用MySQL路由器和从应用程序是如何使用的观点。

场景

对MySQL的路由器有几个可能的场景,包括:

  • 作为一名开发人员,我希望我的应用程序连接到服务连接,默认情况下,当前主要的集群复制。

  • 作为一名管理员,我想设置多个服务MySQL路由器不同端口监听每一个高度可用的副本集。

  • 作为一名管理员,我希望能够在端口3306上运行一个连接路由服务是用户或应用程序更加透明。

  • 作为一名管理员,我想配置模式为每个连接路由服务,所以我可以指定是否返回一个小学或中学。

工作流与MySQL的路由器

使用MySQL路由器的工作流程如下:

  1. MySQL客户端或MySQL连接器连接到路由器,例如,端口6446。

  2. 路由器检查一个可用的MySQL服务器。

  3. 路由器打开一个连接到一个合适的MySQL服务器。

  4. 应用程序之间来回路由器转发数据包,和MySQL服务器

  5. 路由器应用程序断开连接,如果连接MySQL服务器失败。应用程序可以然后重试连接到路由器,路由器然后选择一个不同的和可用的MySQL服务器。

使用MySQL连接路由器

应用程序连接到MySQL路由器,路由器将应用程序连接到一个可用的MySQL服务器。

这个例子表明,连接透明地连接到InnoDB集群实例之一。因为这个例子使用沙箱InnoDB集群所有实例在同一主机上运行,我们检查港口状态变量,看看哪个MySQL实例连接。

做一个连接到MySQL路由器使用MySQL客户端,例如:

$ >根- h 127.0.0.1 mysql - u - p 6446 - p

这些端口号取决于您的配置,但比较港口这个例子:

mysql >选择@@port;+ - - - - - - - - - - + | @@port | + - - - - - - - - - - + | 3310 | + - - - - - - - - - - + 1行组(0.00秒)

总而言之,客户端(应用程序)连接到端口6446,但是被连接到一个MySQL实例在端口3310上。

建议

以下是建议使用MySQL路由器。