一、概述:

MySQL Router(以下称为路由器)一个对应用程序透明的InnoDB Cluster连接路由服务,提供负载均衡、应用连接故障转移和客户端路由。

利用路由器的连接路由特性,用户可以编写应用程序来连接到路由器,并令路由器使用相应的路由策略来处理连接,使其连接到正确的MySQL数据库服务器。

由器成为应用程序和数据库集群之间的中间服务。

市场上有一些其他中间件产品,在连接应用程序和服务器时,会检查数据包,但MySQL Router不存在这样的检查。通信数据包没有被打开、检查或更改,路由器只是根据所配置的选项,将信息转发到正确的服务器上。

路由器是轻量级的中间件,只需要使用很少的资源,在用户使用简单的设置及配置单主模式集群的场景下很容易使用,但在复杂的场景下,配置路由器会面临一些挑战。

MySQL安装程序有一个自动配置步骤,使得用户在Windows上安装路由器非常容易。然而对于更复杂的配置,用户则希望使用全面的策略与选项来配置应用程序和数据库集群。

路由器支持定制,可以帮助用户进行诊断或调试工作。路由器支持记录消息,其中包括连接路由、状态、错误和警告等语句。

路由器可以应用在多个场景中,包括为MySQL服务器提供高可用性及可伸缩性。高可用性通过自动故障转移特性实现,该特性会在集群中指定的服务器发生故障时自动进行路由客户端连接。

当用户使用InnoDB Cluster跨多个服务器复制数据时,如果发生故障,则服务器自动执行故障转移,路由器充当代理,将应用程序的连接转移到有效的数据库服务器上。

如果数据库有足够的在线副本和可靠的网络通信,则用户让应用程序连接到路由器上,而不是直接连接到特定的 MySQL 服务器上,应用程序将能够连接其余的数据库服务器。下图显示了路由器相对于应用程序和InnoDB Cluster的逻辑视图。

路由器在应用程序和MySQL服务器之间工作。当应用程序连接到路由器时,路由器从服务器的候选池中选择一个合适的MySQL服务器进行连接,并将应用程序的所有网络流量转发到该服务器(并将服务器的响应返回到应用程序)上。

用户可以在一台或多台主机上运行路由器的多个实例,以提供一定程度的容错能力。用户无须将路由器单独部署到一台独立的主机上,推荐将路由器与应用程序部署在同一台服务器主机上。

路由器在后台会存储一个来自InnoDB Cluster的服务器列表,以及它们的状态。该服务器列表(或缓存)最初从配置文件中读取,随后在路由器和集群之间保持通信,可以确保在集群拓扑变化时对其进行更新。

当服务器离开时,它们会被路由器标记为离线,路由器会跳过它们。同样,如果用户在集群中添加了新服务器,那么路由器的缓存也会进行相应的更新。

为了保持缓存的持续更新,路由器会与集群中的一台服务器保持连接,从服务器的Performance_Schema数据库中查询集群元数据。每当检测到集群状态更改时,组复制就会实时更新这些表(或视图)。

安装路由器非常简单,用户很容易上手。MySQL团队为MySQL服务器支持的所有平台提供了路由器的安装包。在MySQL Windows Installer中也包含路由器。

在本文中读者将了解如何在Windows上安装路由器。此外,读者还将简要了解如何在其他操作系统上安装路由器,以及如何手动配置路由器。

如果用户使用不同的系统环境,并且用户的应用程序服务器是一台Windows服务器,那么用户可以使用本节内容作为指南,在用户的Windows应用程序服务器上设置路由器。

二、Windows下的MySQL Installer

1.首先,进入下载页面,如图所示,选择合适的版本下载。

下载页面提供两个版本供下载:

(1)容量小的版本:在安装时要根据用户选择需要安装的组件进行下载,再进行安装。

(2)容量大的版本:在安装时要选择全部的安装组件。用户可以根据实际情况选择下载,在本演示里,我们选择下载包括全部安装组件的版本。

2.安装画面会提示选择不同类型的安装,如图所示。

3.用户可以根据需求选择安装不同的组件,由于本节仅演示安装路由器,因此,选择Custom(定制安装)选项。单击Next按钮会出现选择组件画面,选择安装MySQL Router 8.0,如图所示。

4.单击Next按钮执行安装,如图所示。

5.安装结束之前,提示配置MySQL Router,如图所示。读者可以先跳过这一步,如果已经安装好InnoDB Cluster,则可以在这一步根据提示,输入连接的相关信息,为其配置MySQL Router。

6.最后,单击Finsh按钮即可完成MySQL Router的安装。

三、在其他操作系统下安装MySQL Router 

如果用户需要在其他操作系统上使用MySQL Router,则安装过程相对于Windows而言要复杂一些,需要一定的手动安装过程。

1.在Linux平台上可以使用RPM包安装,先下载配置yum源,再执行如下命令:

shell> sudo yum install mysql-router

2.此外,还有一种更为简洁的安装方式。用户可以选择下载tar包,如图所示。解压后,经过配置可以直接使用。

内容摘自《MySQL高可用解决方案――从主从复制到InnoDB Cluster架构》第六章

徐轶韬 著

本书特点:

本书对MySQL官方提供的高可用解决方案逐一进行介绍,详细阐述每种方案的原理、架构、优缺点以及适用场景,并配合演示说明,能够帮助读者快速理解相关内容。区别于市面上其他MySQL相关图书,本书专注于MySQL官方团队提供的解决方案。此外,本书还介绍了MySQL8.0的部分内容,使读者能够更加全面地了解MySQL的生态和工具。

本书适合

MySQL初学者;

数据库架构师;

DBA(DatabaseAdministrator 数据库管理员);

相关软件开发人员;

组织内部IT负责人。

举报/反馈

博文小火柴

288获赞 50粉丝
专注分享计算机类图书中的小知识
关注
0
0
收藏
分享