数据库系列之MySQL配置F5负载均衡

数据库负载均衡(上) 数据库负载均衡的必要性 虽然搭建了集群,但是不使用数据库负载均衡,单节点处理所有请求,负载高,性能差 使用Haproxy做负载均衡,请求被均匀分发给每个节点,单节点负载低,性能好 负载均衡中间件对比  负载均衡首先是数据库的集群,加入5个集群,每次请求都是第一个的话,有可能第一个数据库就挂掉了,所以更优的方案是对不同的节点都进行请求,这就需要有中间件进行转发,比较好的中... 阅读详情

上一文介绍了F5虚拟机环境的配置,参考“数据库系列之F5负载均衡配置”,这里继续介绍MySQL配置F5负载均衡。

2、F5配置负载均衡

F5虚拟机配置了3张网卡,信息如下:

  1. VMnet2,仅主机模式,ip地址段为192.168.1.0,这个将作为F5的external vlan地址
  2. VMnet3,仅主机模式,ip地址段为192.168.198.0,这个将作为F5的管理节点的ip地址
  3. VMnet8,NAT模式,ip地址段为192.168.112.0,用于虚拟机之间的通信和桥接

在这里插入图片描述

2.1 配置Platform

初始化配置,输入管理节点ip,配置hostname

在这里插入图片描述

2.2 添加VLAN

添加几个就好,一般会添加来两个一个内网的,一个外网的

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 配置Self-IP

Internal和external各配置2个IP,一个是浮动IP

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.4 新增monitor

F5默认的探测策略是TCP方式,F5每隔一个固定的时间,发送一个SYN包给资源池pool中的一个member,等待服务器返回SYN_ACK,在收到SYN_ACK后,F5会使用RST,将该连接重置。若F5在发出SYN包后,超过规定的时间仍未收到SYN_ACK,则认为这个member不可用,不再向这个member分配应用流量。TCP这种方式只能判断目标服务器的tcp端口是否处于listen状态,判断目标服务器是否有建立TCP连接的能力,不能完全用来判断应用的可用性。

当应用处于假活状态,Telnet端口能够正常响应,但应用不能正常提供服务了。因此新增了兼容MySQL协议的monitor检测机制,通过连接到mysql库并执行SQL语句“select 1”返回结果1表示正常,如果不能正常返回则判断该member不可用。
在这里插入图片描述

2.5 创建pools

创建两种pools,添加后端服务的ip和端口,指定monitor检测方式,分别为默认的TCP方式和兼容mysql协议的检测方式。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.6 创建Virtual Servers

创建virtual server,即对外服务的IP,和external VLAN在同一个网段。同时需要配置地址转发设置为Auto Map,指定pool名称为MGR01和MGR02。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.7 访问服务端口

1)访问192.168.1.200:3306

[root@tango-centos03 mysql]# ./bin/mysql -h192.168.1.200 -P3306 -uroot -p
Enter password: 

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+
11 rows in set (0.22 sec)

mysql>

2)访问192.168.1.201:3306

[root@tango-centos03 mysql]# ./bin/mysql -h192.168.1.201 -P3306 -uroot -p
Enter password: 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |

mysql>
2.8 查看服务器流量

右边菜单的”Overview”->”Statistics”,Statistics Type中选择”Pools”,即可看到相应服务器的流量
在这里插入图片描述

3、F5负载均衡策略测试

1)MGR配置多写模式

mysql> SELECT * FROM performance_schema.replication_group_members;
+---------------------------+--------------------------------------+----------------+-------------+--------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST    | MEMBER_PORT | MEMBER_STATE |
+---------------------------+--------------------------------------+----------------+-------------+--------------+
| group_replication_applier | be42da32-eb35-11ea-9505-000c2937f917 | tango-centos02 |        3306 | ONLINE       |
| group_replication_applier | de623c4b-eb35-11ea-b1e4-000c2959d3e3 | tango-centos03 |        3306 | ONLINE       |
| group_replication_applier | e5fb2194-eb27-11ea-b838-000c2992e812 | tango-centos01 |        3306 | ONLINE       |
+---------------------------+--------------------------------------+----------------+-------------+--------------+
3 rows in set (0.00 sec)

2)使用sysbench进行测试

[root@tango-01 sysbench]# sysbench ./tests/include/oltp_legacy/select.lua --mysql-host=192.168.1.201 --mysql-port=3306 --mysql-user=root --mysql-password=password --mysql-db=sbtest  --oltp-tables-count=5 --oltp-table-size=50000 --threads=100 --time=600 --report-interval=1 run
[ 6s ] thds: 100 tps: 725.29 qps: 725.29 (r/w/o: 725.29/0.00/0.00) lat (ms,95%): 144.97 err/s: 0.00 reconn/s: 0.00
[ 7s ] thds: 100 tps: 724.89 qps: 724.89 (r/w/o: 724.89/0.00/0.00) lat (ms,95%): 144.97 err/s: 0.00 reconn/s: 0.00
[ 8s ] thds: 100 tps: 732.12 qps: 732.12 (r/w/o: 732.12/0.00/0.00) lat (ms,95%): 144.97 err/s: 0.00 reconn/s: 0.00
[ 9s ] thds: 100 tps: 710.10 qps: 710.10 (r/w/o: 710.10/0.00/0.00) lat (ms,95%): 170.48 err/s: 0.00 reconn/s: 0.00
[ 10s ] thds: 100 tps: 745.56 qps: 745.56 (r/w/o: 745.56/0.00/0.00) lat (ms,95%): 153.02 err/s: 0.00 reconn/s: 0.00
[ 11s ] thds: 100 tps: 729.63 qps: 729.63 (r/w/o: 729.63/0.00/0.00) lat (ms,95%): 142.39 err/s: 0.00 reconn/s: 0.00
[ 12s ] thds: 100 tps: 730.20 qps: 730.20 (r/w/o: 730.20/0.00/0.00) lat (ms,95%): 144.97 err/s: 0.00 reconn/s: 0.00

3)将其中一个节点的进程使用kill -19命令hang住,查看F5中的流量
在这里插入图片描述

由于配置了MySQL协议,当进程hang住以后,select 1没有正常返回结果,F5会把这个member状态标志为不可用,流量也不会flow到这个member。


参考资料:

  1. https://blog.youkuaiyun.com/weixin_37569048/article/details/100053487
  2. https://blog.youkuaiyun.com/qq_35611533/article/details/51917279
  3. https://blog.youkuaiyun.com/solihawk/article/details/120315419

转载请注明原文地址:https://blog.youkuaiyun.com/solihawk/article/details/120321153
文章会同步在公众号“牧羊人的方向”更新,感兴趣的可以关注公众号,谢谢!
在这里插入图片描述

mycat实现简单的mysql集群负载均衡 什么是mycat呢?简单理解为一个mysql中间件,它支持分流、基于心跳的自动故障切换,支持读写分离,支持MySQL主从,基于Nio管理线程的高并发… 详见官网:http://www.mycat.io/ 为什么需要mysql集群?一个庞大的分布式系统的性能瓶颈中,最脆弱的就是连接,一个是客户端与后端的连接,另一个是后端与数据库的连接,说白了就是发送端请求太多,接收端能够的接收和处理的请求并不多, 阅读详情

相关推荐

F5负载均衡配置及网络优化指南

如果您的应用程序使用了SSL/TLS加密,F5负载均衡器可以提供SSL加速和优化功能,以减轻后端服务器的负载并加快SSL握手和数据传输速度。通过正确配置虚拟服务器、池和监视器,以及采取流量分析和优化方法,您可以实现高效的负载均衡解决方案,并优化网络性能。您可以配置虚拟服务器的IP地址、端口和协议类型,以及与之关联的池(Pool)和负载均衡策略。池是用于存放后端服务器的组,负载均衡器将客户端请求分发给池中的服务器。请注意,以上提供的代码示例和配置选项仅供参考,实际配置应根据您的具体需求和网络环境进行调整。

YOLOv111的博客 3988

【负载均衡篇】04. 路由与上网策略 ❀ F5 Link Controller 链路控制器

  【简介】两台F5做HA后,我们会发现一个问题,那就是两台F5的接口IP都不相同,那么正运行的A设备切换到B设备,那访问地址都变了,操作起来不是很麻烦?这里就要用到浮动IP了。我们实际访问的是浮动IP,再怎么切换浮动IP都不会变。...

防火墙技术专栏 2536

MySQL5.8 Group Replication + F5实现高并发

MySQL5.8 Group Replication + F5实现高并发(MGR) 集群搭建

8. F5负载均衡配置一例 (型号:BIG-LTM-1600-4G-R)

F5 提供的解决方案保证每个用户的应用实现安全、高速和高可用,帮助企业获得最大投资回报。通过在网络中增加智能和可管理性而降低应用的负荷,F5使应用得以优化,从而提高运行速度,并降低资源消耗。 此次实施的F5型号为BIG-LTM-1600-4G-R,外形如下图:   注:本文仅供参考。 一、实施环境概述:本次采用的为旁路接入方式,F5的1.1和1.2两个接口分别接入应用双机环境的主、备交换机

MuTou的博客 1万+

F5 负载均衡整体介绍-中文版

包括F5的基本产品介绍,各种功能原理简介,产品优势等

Ubuntu下Vim创建属于自己的头部注释和代码模板

痛点 每次打开vim想写个C或者C++的程序都要把固定的模板敲一遍,是不是感觉非常的繁琐,能不能把Vim弄得像IDE那样新建一个文件直接生成对应的头部注释和代码模板,减少这些重复工作呢?下面我尽量详细的介绍实现的方法: 先看看新建文件后的效果 C语言格式效果 C++语言效果 方法: 使用命令 vi /etc/vim/vimrc 打开vimrc这个文件,然后复制以下代码至文件末尾的空白处即可! 修改vimrc文件里面的内容必须要用root管理员身份才能进行修改,修改时先切换至root身份即可。 "新建.

weixin_42137584的博客 1559

MySQL负载均衡技术及实现方案

MySQL负载均衡技术的主要原理是利用代理服务器(Proxy)或负载均衡器(Load Balancer)来实现请求的分发。MySQL负载均衡技术是一种将多个MySQL数据库实例组合在一起,以实现负载分担和性能提升的技术。(2)配置MySQL数据库实例:在每个MySQL数据库实例的配置文件中添加绑定虚拟IP地址的指令。使用代理服务器作为负载均衡器,将客户端的请求转发给多个MySQL数据库实例。(2)配置Nginx:在Nginx的配置文件中添加upstream块,指定多个MySQL数据库实例的地址。

LSW1737554365的博客 4068

属性基加密(Attribute-based Encryption, ABE)

KP-ABE中,用户的密钥定义了访问策略,密文的属性与策略进行匹配。CP-ABE中,密文定义了访问策略,用户的属性与策略进行匹配。

2201_75392924的博客 1830

数据库系列之F5负载均衡配置

F5负载均衡是网络控制设备将负载均衡的分发到多个操作单元,本文在虚拟机环境部署F5虚拟机,并配置TCP和兼容mysql协议探测方式连接mysql服务进行测试,以观察不同检测方式的影响。

牧羊人的方向 4553

QGroundControl高级配置与自定义功能实战指南

本文深入探讨了QGroundControl(QGC)的高级配置与自定义功能,为无人机开发者、系统集成商和高级用户提供实战指南。内容涵盖从品牌界面定制、自定义MAVLink消息处理,到插件开发与自动化部署的全流程,旨在帮助用户解锁QGC的隐藏潜力,打造专属的行业解决方案。

weixin_29234509的博客 239

手把手教你用Kokoro-82M-v1.1-zh搭建本地TTS服务(含WebSocket接口)

本文详细介绍了如何使用Kokoro-82M-v1.1-zh模型搭建本地TTS服务,包括环境配置、模型部署、WebSocket接口实现及性能优化。通过实战指南,开发者可以快速掌握本地部署TTS系统的关键技术,提升语音交互应用的开发效率。

weixin_30776273的博客 183

Nginx实现MySQL数据库负载均衡及MySQL主主复制详细步骤

在这篇文章中,我们将详细介绍如何使用Nginx实现MySQL数据库的负载均衡以及MySQL主主复制。通过按照以下步骤操作,您可以轻松地完成MySQL负载均衡和主主复制的配置。

qq_35309973的博客 1826

高级技能-高可用和容灾-两地三中心、异地多活架构

两地三中心和异地多活是当前主流的跨地域高可用架构方案。两地三中心通过生产中心、同城灾备和异地灾备的组合,提供多级容灾能力,适合对数据安全要求高的行业。异地多活则采用单元化设计,多个站点同时服务,提升资源利用率,但需解决网络延迟、数据冲突等挑战。两种架构在RTO/RPO、一致性、改造成本等方面各具特点,企业应根据业务规模、一致性要求和预算进行选择,可考虑从同城双活起步,逐步向异地多活演进。混合架构可能是平衡容灾与多活的务实方案。

zhongjianfeng100的博客 168

4 节点 weblogic 集群结合 F5 实现 4 节点负载均衡

WebLogic 集群是 Oracle WebLogic Server 提供的一种高可用性、可伸缩性和可靠性解决方案。一个 WebLogic 集群由一组 WebLogic 服务器实例组成,这些实例协同工作,以确保在某个节点发生故障时,集群中的其他节点可以顶替其工作,从而实现故障转移。此外,集群还可以将用户请求在各个服务器实例之间分配,以实现负载均衡。以下是一些关键概念:管理服务器:管理服务器负责整个集群的配置管理、监控和维护。

weixin_45109326的博客 1917

【AI智能体】Dify 基于知识库搭建智能客服问答应用详解

Dify 基于知识库搭建智能客服问答应用详解

congge 6928

YOLOv5 自定义模型 Android 部署完整指南

本文详细介绍了将YOLOv5模型部署到Android设备的完整流程,包含三个核心部分:首先验证官方模型测试,确保基础环境配置正确;随后进行模型转换,从PyTorch导出ONNX格式并优化,再转换为NCNN格式;最后在Android项目中集成自定义模型,包括文件替换、参数修改和代码适配。教程基于YOLOv5 6.1版本,使用NCNN框架进行移动端推理,涵盖了常见问题解决方案和关键配置要点,为开发者提供了从训练到部署的完整技术路线。

FJN110的博客 591

MySQL负载均衡配置

MySQL负载均衡配置 本文从centos刚装完系统开始,描述了包括数据库mysql安装及配置,数据库主从配置等操作步骤及相关代码。本文介绍MySQL5.5的安装配置 系统:CentOS 6.5 x64 MySQL版本:MySQL5.5 安装MySQL centos会默认安装MySQL5.1版本,我们需要的是MySQL5.5版本,所以首先需要将默认安装的MySQL版本删除。 第一...

Klein_yang的博客 916

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

f5服务器负载均衡性能指标,f5服务器负载均衡性能指标

f5服务器负载均衡性能指标 内容精选换一换弹性负载均衡有不同的负载均衡,分别是共享型负载均衡和独享型负载均衡,便于用户根据不同的应用场景和功能需求选择合适的负载均衡器类型。共享型负载均衡:适用于访问量较大的web业务,提供基于域名和URL的路由均衡能力,实现更加灵活的业务需求。共享型负载均衡实例资源共享,实例的性能会受其它实例的影响。共享型负载均衡就是原增强型负载均衡。独享型负载弹性负载均衡有不同...

weixin_33185261的博客 1299

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

CentOS下Mycat+MySQL水平分割负载均衡配置记录

CentOS 6.5 下Mycat+MySQL水平分割负载均衡配置记录什么是MYCAT?Mycat数据库分库分表中间件,更多的就不说了,参考官网;什么是中间件?专业的定义我也不说了,说点相关类似的例子:1、类似房屋中介:你自己要找到想出租出售房屋的人比较费劲,他们可以一下子提供给你很多;2、大超市:你想一下子买到多种多样的生活用品可能需要跑很多地方,去大超市一个地方就可以了;3、装修队:你想装修一

无知人生,记录点滴 8624

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

MySQL数据库集群实现负载均衡的安装配置详解

本文我们详细地介绍了MySQL 5.0数据库集群负载均衡的安装配置工作,希望能够对您有所帮助。 本文我们主要介绍了MySQL数据库集群实现负载均衡的安装配置工作,接下来我们就让我们一起来了解一下这部分内容。 MySQL数据库集群关系如下图: ndbd:数据库节点,物理数据实际存放位置。 mysqld:MySQL服务器节点。 ndbd_mgm

做个有幸福感的人 3213

【Docker-02】数据库集群负载均衡 —— 不看后悔系列

前言 如果没有安装Mysql集群,先看上一节。 为什么要负载均衡?因为:一个人受罪还不如大家一起受罪!(想想就觉得不疼了) 这里我以PXC.Mysql集群为例,使用Haproxy做负载均衡,使请求均匀分发给每个节点(一起受罪) 为什么Haproxy? 看到TCP/IP协议那里,我挺喜欢Nginx,但是不敢用,谁让他出得慢,而Haproxy好歹很早就支持了! 1.安装Haproxy镜像 doc...

Daioo 随笔 639

MySQL群集 单服务器高配置,配置高可用性的MySQL服务器负载均衡群集

-这篇论坛文章(赛迪网技术社区)主要介绍了配置一个高可用性的MySQL服务器负载均衡群集的具体过程,详细内容请参考下文:本文将告诉你如何配置一个三个节点的MySQL 5数据库服务器群集:两个存储节点和一个管理节点。这个群集是由用提供“heartbeat心跳”(用来检查另外一个节点是否活动)和“ldirectord”(将请求分发到MySQL群集的节点)的Ultra Monkey安装包的两个节点组成的...

weixin_39623750的博客 1458

MySQL高可用负载均衡集群部署

简介 使用MySQL时随着时间的增长,用户量以及数据量的逐渐增加,访问量更是剧增,最终将会使MySQL达到某个瓶颈,那么MySQL的性能将会大大降低。这一结果也不利于软件的推广。 那么如何跨过这个瓶颈,提高MySQL的并发量呢?方法有很多,分布式数据库、读写分离、高可用负载均衡、增加缓存服务器等等。之前的文章里已经介绍了读写分离的方案了,接下来我将讲解MySQL高可用负载均衡这一方法。 其中实现高...

天涯云海的专栏 4793

mysql数据库集群+负载均衡(lvs)_MySQL数据库集群+负载均衡(LVS).doc

您所在位置:网站首页 > 海量文档&nbsp>&nbsp计算机&nbsp>&nbsp数据库MySQL数据库集群+负载均衡(LVS).doc135页本文档一共被下载:次,您可全文免费在线阅读后下载本文档。 下载提示1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。2.该文档所...

weixin_35955473的博客 980

Mysql 的数据库复制功能 (Replication Database)

Mysql 数据库相信大家已经投入了生产使用。很多人都将他和 PHP 集成在 Apache 中,为WebSite 服务。的确,他们在WebSite 中的应用比较多,而且PhpMyAdmin 又是一个PHP+Mysql 的最好应用例子。那么Mysql 能不能实现两个系统之间通过TCP/IP去复制数据库?能不能实现实时复制呢?也就是说能不能实现同步(Synchronization)的问题。先概括介绍一

网络笔记 1267
上一篇: 数据库系列之F5负载均衡配置
下一篇: 数据库系列之InnoDB中在线DDL实现机制
solihawk
博客等级 码龄17年 7995粉丝 184原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值