中国煤炭建设协网站,奉贤做网站建设,杭州网络安全公司排名,优化的含义是什么MySQL Router 是一个对应用程序透明的InnoDB Cluster连接路由服务#xff0c;提供负载均衡、应用连接故障转移和客户端路 由。
利用路由器的连接路由特性#xff0c;用户可以编写应用程序来连接到路由器#xff0c;并令路由器使用相应的路由策略 来处理连接#xff0c;使其…
MySQL Router 是一个对应用程序透明的InnoDB Cluster连接路由服务提供负载均衡、应用连接故障转移和客户端路 由。
利用路由器的连接路由特性用户可以编写应用程序来连接到路由器并令路由器使用相应的路由策略 来处理连接使其连接到正确的MySQL数据库服务器
准备工作
本实验以虚拟机Linux-7作为测试在官网上下载软件包
准备三台虚拟机172.25.254.10172.25.254.20和172.25.254.30各自安装数据库 轮询路由策略
“routing_strategy round-robin” 表示路由策略为 “轮询”。
轮询策略是一种在多个资源或目标之间平均分配负载的方法。当有多个可选的路由、服务器或处理单元时系统按照一定的顺序依次选择每个选项以实现较为均衡的资源利用。
采用轮询策略时第一个请求会被发送到第一个服务器第二个请求被发送到第二个服务器以此类推。当到达最后一个服务器后下一个请求又会回到第一个服务器形成一个循环。
策略的优点
负载均衡可以较为平均地将工作负载分配到各个资源上避免某些资源过度负载而其他资源闲置的情况。简单易实现不需要复杂的算法和状态管理易于理解和实现。
策略的缺点
不能限制数据库的读写和访问分流无法动态调整如果某些资源在运行过程中出现故障或性能下降轮询策略可能无法及时做出调整导致请求分配不合理。
部署
172.25.254.10
主机从数据库官网上安装软件 [rootnginx ~]# rpm -ivh mysql-router-community-8.4.0-1.el7.x86_64.rpm 172.25.254.10主机上模拟mysql不存在将172.25.254.10主机的流量发送到172.25.254.20和172.25.254.30主机上
配置轮询路由策略 [rootnginx ~]# vim /etc/mysqlrouter/mysqlrouter.conf [routing:ro] #名称路由可读 bind_address 0.0.0.0 #监控端口为当前主机端口 bind_port 7001 #通过端口7001访问数据库 destinations172.25.254.10:3306,172.25.254.20:3306,172.25.254.30:3306#访问主机的IP地址及端口 routing_strategy round-robin#表示路由策略为轮询策略 启动mysql-router [rootnginx ~]# systemctl start mysqlrouter.service 查看端口是否开启 [rootnginx ~]# netstat -antlupe |grep 7001 172.25.254.20
创建远程连接访问用户 mysql create user root% identified by lee; mysql grant all ON . to root%; 查询当前数据库服务器的唯一标识符为20 mysql SELECT server_id; 172.25.254.30
创建远程连接访问用户 mysql create user root% identified by lee; mysql grant all ON . to root%; 查询当前数据库服务器的唯一标识符为30 mysql SELECT server_id; 测试
172.25.254.10
在172.25.254.10主机上远程连接 [rootnginx ~]# mysql -uroot -plee -h172.25.254.10 -P 7001 查询当前数据库服务器的唯一标识符 mysql SELECT server_id; 唯一标识符显示为30说明172.25.254.10远程连接到172.25.254.30主机上。
\q退出mysql后再重新登录
再查询当前数据库服务器的唯一标识符 mysql SELECT server_id; 唯一标识符显示为20说明172.25.254.10远程连接到172.25.254.20主机上。
实现了路由轮询策略注意mysql轮询策略不能限制数据库的读写和访问分流 优先使用路由策略
“routing_strategy first-available” 表示路由策略为 “优先使用第一个可用的”。
这种路由策略通常在多个路径或资源中进行选择时使用。当有多个可选的路由或处理方式时系统会优先选择第一个被确定为可用的选项。
如果采用 “first-available” 策略网络设备会首先尝试第一个路径如果该路径可用则使用该路径进行数据传输如果第一个路径不可用则继续检查下一个路径直到找到一个可用的路径。
“first-available” 路由策略的优点是简单直接可以快速找到一个可用的选项。然而它也可能存在一些缺点比如可能没有充分考虑各个选项的性能、负载等因素可能导致某些情况下不是最优的选择。
部署
配置轮询路由策略
172.25.254.10 [rootnginx ~]# vim /etc/mysqlrouter/mysqlrouter.conf [routing:rw] bind_address 0.0.0.0 bind_port 7002 destinations 172.25.254.20:3306,172.25.254.30:3306 routing_strategy first-available 启动mysql-router [rootnginx ~]# systemctl start mysqlrouter.service 测试
172.25.254.10
在172.25.254.10主机上远程连接 [rootnginx ~]# mysql -uroot -plee -h172.25.254.10 -P 7002 查询当前数据库服务器的唯一标识符 mysql SELECT server_id; 唯一标识符显示为20说明172.25.254.10远程连接到172.25.254.20主机上。
\q退出mysql后再重新登录
再查询当前数据库服务器的唯一标识符 mysql SELECT server_id; 唯一标识符显示依然为20说明系统会优先选择第一个172.25.254.20被确定为可用的选项后再次退出不会切换到172.25.254.30主机上当172.25.254.20主机发生故障时会切换至172.25.254.30主机上。