【MySQL Router】第 1 章 通用信息
迪丽瓦拉
2024-03-08 16:40:04
0

第 1 章 通用信息

文章目录

  • 第 1 章 通用信息
    • 1.1 MySQL InnoDB Cluster 的路由设置
      • 介绍
      • 在 MySQL InnoDB Cluster 中部署路由器
    • 1.2 集群的元数据和状态
    • 1.3 路由连接
    • 1.4 应用考虑
    • 1.5 MySQL Router 8.0 的新功能

说明
PRIMARY代表集群拓扑中的主成员。

MySQL Router 是高可用性(HA)解决方案的构建块。它通过智能地将连接路由到 MySQL 服务器以提高性能和可靠性,从而简化了应用程序开发。

MySQL Router 8 完全支持 MySQL 5.7 和 MySQL 8 ,它取代了 MySQL Router 2.x 系列。如果您当前使用的是 MySQL Router 2.x ,我们建议将您的安装升级到 MySQL Router 8 。

1.1 MySQL InnoDB Cluster 的路由设置

MySQL Router 是 InnoDB Cluster 的一部分,是一种轻量级中间件,可在应用程序和后端 MySQL 服务器之间提供透明路由。它用于各种各样的用例,例如通过将数据库流量路由到适当的后端 MySQL 服务器来提供高可用性和可扩展性。可插拔的体系结构还使开发人员能够扩展 MySQL Router 以用于定制用例。

有关 MySQL Router 是如何成为 InnoDB Cluster 的一部分的更多详细信息,请参阅 MySQL AdminAPI 。

介绍

对于处理故障转移的客户端应用程序,他们需要了解 InnoDB Cluster 拓扑结构,并知道哪个 MySQL 实例是PRIMARY。虽然应用程序可以实现该逻辑,但 MySQL Router 可以为您提供并处理该功能。

MySQL 使用组复制跨多个服务器复制数据库,同时在服务器发生故障时执行自动故障切换。当与 MySQL InnoDB Cluster 一起使用时,MySQL Router 充当 代理(Proxy ),以隐藏网络上的多个 MySQL 实例,并将数据请求映射到其中一个集群实例。只要有足够的在线副本并且组件之间的通信完好无损,应用程序就可以联系其中一个。MySQL Router 还通过让应用程序连接到 MySQL Router 而不是直接连接到 MySQL 来实现这一点。

在 MySQL InnoDB Cluster 中部署路由器

MySQL Router 的推荐部署模型是 InnoDB Cluster ,路由器与应用程序位于同一主机上。

配置集群后,使用 InnoDB Cluster 部署 MySQL Router 的步骤如下:

  1. 安装 MySQL路由器。
  2. 引导 InnoDB Cluster 并测试。
    引导(Bootstrapping) 使用--bootstrap和其他命令行选项自动为现有的 InnoDB Cluster 配置 MySQL 路由器。在引导过程中,Router 连接到集群,获取其元数据,并配置自己以供使用。引导是可选的。
    有关更多信息,请参阅 第 3 章 部署MySQL路由器。
  3. 设置 MySQL Router 以自动启动。
    将系统配置为在主机重新启动时自动启动 MySQL Router ,这一过程类似于 MySQL 服务器配置为自动启动的方式。有关更多详细信息,请参阅 第 5.1 节 “启动MySQL路由器” 。

例如,在创建 MySQL InnoDB Cluster 后,您可以使用以下配置 MySQL Router :

$> mysqlrouter --bootstrap localhost:3310 --directory /opt/myrouter --user snoopy

此示例将 MySQL 路由器引导到现有的 InnoDB 集群,其中:
localhost:3310 是 InnoDB 集群的成员,PRIMARY或引导程序将重定向到集群中的PRIMARY

因为使用了可选的--directory引导选项,所以本示例创建了一个自包含的安装,其中包含/opt/myrouter/处生成的所有目录和文件。这些文件包括start.sh, stop.sh, log/和一个名为mysqlrouter.conf的全功能 MySQL 路由器配置文件。

只有名为 snoopy 的主机系统用户才能访问/opt/myrouter/*

有关修改引导配置过程的方法,请参阅 –bootstrap 和相关选项。例如,传入 –conf-use-sockets 启用 Unix 域套接字连接,因为默认情况下只启用 TCP/IP 连接。

1.2 集群的元数据和状态

1.3 路由连接

1.4 应用考虑

1.5 MySQL Router 8.0 的新功能

相关内容