红帽7—Mysql路由部署

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

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

准备工作

本实验以虚拟机Linux-7作为测试,在官网上下载软件包

准备三台虚拟机172.25.254.10,172.25.254.20和172.25.254.30各自安装数据库

轮询路由策略

“routing_strategy = round-robin” 表示路由策略为 “轮询”。

轮询策略是一种在多个资源或目标之间平均分配负载的方法。当有多个可选的路由、服务器或处理单元时,系统按照一定的顺序依次选择每个选项,以实现较为均衡的资源利用。

采用轮询策略时,第一个请求会被发送到第一个服务器,第二个请求被发送到第二个服务器,以此类推。当到达最后一个服务器后,下一个请求又会回到第一个服务器,形成一个循环。

策略的优点:

  1. 负载均衡:可以较为平均地将工作负载分配到各个资源上,避免某些资源过度负载而其他资源闲置的情况。
  2. 简单易实现:不需要复杂的算法和状态管理,易于理解和实现。

策略的缺点:

  1. 不能限制数据库的读写和访问分流
  2. 无法动态调整:如果某些资源在运行过程中出现故障或性能下降,轮询策略可能无法及时做出调整,导致请求分配不合理。

部署

172.25.254.10

主机从数据库官网上安装软件

[root@nginx ~]# 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主机上

配置轮询路由策略

[root@nginx ~]# vim /etc/mysqlrouter/mysqlrouter.conf

[routing:ro]   #名称路由可读
bind_address = 0.0.0.0 #监控端口为当前主机端口
bind_port = 7001 #通过端口7001访问数据库
destinations=172.25.254.10:3306,172.25.254.20:3306,172.25.254.30:3306#访问主机的IP地址及端口
routing_strategy = round-robin#表示路由策略为轮询策略

启动mysql-router

[root@nginx ~]# systemctl start mysqlrouter.service

查看端口是否开启

[root@nginx ~]# 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主机上远程连接

[root@nginx ~]# 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

[root@nginx ~]# 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

[root@nginx ~]# systemctl start mysqlrouter.service

测试

172.25.254.10

在172.25.254.10主机上远程连接

[root@nginx ~]# 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主机上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/443701.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024最新版:阿里内网大模型面试题首次公开,别流传出去了

随着人工智能技术的迅猛发展,计算机视觉(CV)、自然语言处理(NLP)、搜索、推荐、广告推送和风险控制等领域的岗位越来越受欢迎,而_对于大型模型技术的掌握成为了这些岗位的标配_。 但目前公开的大模型资源还…

如何在算家云搭建Omost(图像生成)

一、Omost介绍 GitHub - lllyasviel/Omost:你的图像快到了! Omost 是一个将 LLM 的编码能力转换为图像生成(或更准确地说,图像合成)能力的项目。“O”代表“omni”多模态,象征着项目支持多种形式的输入与…

设计模式:单例

一.什么是单例模式 单例模式是一种设计模式,指在整个程序生命周期中有且仅有一个实例的类。可以分为懒汉式以及饿汉式。 懒汉式:只有在类的实例被使用时才生成唯一实例。但是存在线程安全以及内存泄露的问题。可以节省系统资源。 饿汉式:程序…

腾讯云SDK 选择指引

音视频终端 SDK(腾讯云视立方)提供多种音视频场景下的终端 SDK,用户可结合自身场景需要选择相应的 SDK 进行下载。 如果您无法通过应用场景确定您需要的 SDK,可以进入 自定义 SDK 下载页,勾选您需要的功能&#xff0c…

Redis-缓存过期淘汰策略

缓存淘汰策略 生产上redis内存设置为多少 设置为最大内存的 3/4 redis 会占用物理机多少内存 默认大小是 0,64 位系统下表示不限制内存大小,32位系统表示 3G 如何设置修改redis内存大小 config get maxmemory 查看修改方式 配置文件 单位是字节 2.…

(八)Protues仿真STM32单片机GPIO驱动数码管

1,参考上篇,将LED点阵屏更换成数码管如下图 2,修改驱动函数,数组seg[14]前10个是0-9数字的编码,后四个是空格,点,横线,下划线 char seg_decode(char num)//数字解码 {const char se…

vue3中使用live2D

概述 本文将介绍如何在vue3项目中使用Live2D。 Live2D 介绍 Live2D 是什么 Live2D 是一种用于将二维图像转化为可动画三维模型的技术,主要应用于游戏、虚拟角色和互动应用中。它允许开发者通过对静态图像进行分层和建模,使角色在不同角度下能够进行流…

【Linux系统编程】第二十八弹---构建基础文件操作库与理解标准错误流(stderr)在C与C++中的应用

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、封装简单的库 1.1、定义文件结构 1.2、打开文件 1.3、刷新缓冲区 1.4、写文件 1.5、关闭文件 1.6、各文件代码 2、s…

【element-tiptap】如何增加一个扩展项,为文字渲染颜色?

源码地址: https://github.com/Leecason/element-tiptap 可以看到,当前这个页面的文字,都是黑色的(除了链接) 酱紫有些单调,我喜欢五颜六色的。那么这篇文章就来看下菜单项里面如何增加一个颜色的扩展&…

k8s微服务

一 、什么是微服务 用控制器来完成集群的工作负载,那么应用如何暴漏出去?需要通过微服务暴漏出去后才能被访问 Service是一组提供相同服务的Pod对外开放的接口。 借助Service,应用可以实现服务发现和负载均衡。 service默认只支持4层负载均…

Springboot 整合 logback 日志框架

文章目录 整合 Logback 日志框架第一步:导入依赖第二步:导入配置(logback.xml)详解 使用(记录日志) 遇到问题一解决方案 整合 Logback 日志框架 第一步:导入依赖 (Springboot 会自己…

Squid + Stunnel 配置

环境: 亚马逊服务器一台:3.26.80.132 华为云服务器一台:122.59.52.68 客户机一台: Win11 实现的需求:客户机通过设置华为云代理,实现透过亚马逊服务器上网 一、亚马逊服务器 1、安装Squid https://bl…

python爬虫 - 深入requests模块

🌈个人主页:https://blog.csdn.net/2401_86688088?typeblog 🔥 系列专栏:https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、下载网络文件 (一)基本步骤 (二&…

大模型部署-​Ollama+WebUI

Ollama(安装包和安装文档文末领取!) Ollama 简介 主要特点: 易于使用:它提供了一个简洁的界面和命令行工具,使得用户可以方便地管理和运行不同的大语言模型。 多种模型支持:可以运行多种开源…

介绍一款开源的 Modern GUI PySide6 / PyQt6的使用

首先附上大神的开源地址(自行克隆吧): https://github.com/Wanderson-Magalhaes/Modern_GUI_PyDracula_PySide6_or_PyQt6 步骤一:安装PySide6库 pip install PySide6 步骤二:运行main文件 python main.py 就得…

Windows 11 24H2版本有哪些新功能_Windows 11 24H2十四大新功能介绍

距离上次发布的23H2版本已经过去了一年时间,现在,Win 11的24H2版本终于等到了,微软已经全面公开发布Win11 24H2版本,版本号为26100.1742,此次官宣的版本包括了消费者版、商业版、LTSC 2024版等,各种语言版本…

python使用装饰器来统计函数被调用次数、格式化dict以及Python-smtplib邮件发送的IP name possibly forged问题解决

一、python调试:使用装饰器来统计函数被调用次数及格式化dict 喜欢调试的时候显示数据并显示一些其它的信息,比如区分是哪次调用的调试信息,比如友好的显示dict等相对复杂的数据类型,所以这里涉及到两个方面。一是统计函数被调用次…

【计算机网络】网络相关技术介绍

文章目录 NAT概述NAT的基本概念NAT的工作原理1. **基本NAT(静态NAT)**2. **动态NAT**3. **NAPT(网络地址端口转换,也称为PAT)** 底层实现原理1. **数据包处理**2. **转换表**3. **超时机制** NAT的优点NAT的缺点总结 P…

大模型微调十诫:关于将微调模型部署到生产环境的十条建议

转自NLP工程化 大模型微调十诫:关于将微调模型部署到生产环境的十条建议: (1)不要盲目微调模型,先尝试使用提示的方式满足需求。只有当提示无法达到质量、性能或成本目标时,才考虑微调。 (2&…

RabbitMQ延迟队列

1场景: 1.下单之后,给10分钟时间进行支付,如果10分钟后,没有支付,订单取消。(可以使用队列的ttl,因为所有的消息都是一样的停留时长10分钟) 2.定时发布文章(要求4月1号…