LVS#Haproxy+MysqL四层负载均衡

it2025-02-15  4

文章目录

Haproxy+MyaqL实现四层负载均衡基础知识Haproxy+MyaqL实现四层负载均衡实验操作1、两台数据库准备,创建不同的库方便区分2、haproxy配置3、客户端访问验证

Haproxy+MyaqL实现四层负载均衡基础知识

1、haproxy基础 软件:haproxy—主要是做负载均衡的7层,也可以做4层负载均衡   apache也可以做7层负载均衡,但是很麻烦。实际工作中没有人用。   负载均衡是通过OSI协议对应的   7层负载均衡:用的7层http协议,   4层负载均衡:用的是tcp协议加端口号做的负载均衡

ha-proxy概述   ha-proxy是一款高性能的负载均衡软件。因为其专注于负载均衡这一些事情,因此与nginx比起来在负载均衡这件事情上做更好,更专业。 ha-proxy的特点(有一个好看的监控页面) ha-proxy 作为目前流行的负载均衡软件,必须有其出色的一面。下面介绍一下ha-proxy相对LVS,Nginx等负载均衡软件 优点。   •支持tcp / http 两种协议层的负载均衡,使得其负载均衡功能非常丰富。   •支持8种的负载均衡算法,尤其是在http模式时,有许多非常实在的负载均衡算法,适用各种需求。   •性能非常优秀,基于事件驱动的链接处理模式及单进程处理模式(和Nginx类似)让其性能卓越。   •拥有一个功能出色的监控页面,实时了解系统的当前状况。   •功能强大的ACL支持,给用户极大的方便。

2、haproxy算法 1.roundrobin 基于权重进行轮询,在服务器的处理时间保持均匀分布时,这是最平衡,最公平的算法.此算法是动态的,这表示其权重可以在运行时进行调整.不过在设计上,每个后端服务器仅能最多接受4128个连接 2.static-rr 基于权重进行轮询,与roundrobin类似,但是为静态方法,在运行时调整其服务器权重不会生效.不过,其在后端服务器连接数上没有限制 3.leastconn 新的连接请求被派发至具有最少连接数目的后端服务器.

两台haproxy配置文件: [root@ha-proxy-master ~]# cat /etc/haproxy/haproxy.cfg Haproxy L4 ================================================================================= global log 127.0.0.1 local2 pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemon nbproc 1 defaults mode http log global option redispatch retries 3 maxconn 4000 contimeout 5000 clitimeout 50000 srvtimeout 50000 listen stats bind *:80 stats enable stats uri /haproxy stats auth qianfeng:123 frontend web mode http bind *:80 option httplog default_backend httpservers backend httpservers balance roundrobin server http1 192.168.246.162:80 maxconn 2000 weight 1 check inter 1s rise 2 fall 2 server http2 192.168.246.163:80 maxconn 2000 weight 1 check inter 1s rise 2 fall 2 listen mysql bind *:3306 mode tcp balance roundrobin server mysql1 192.168.246.163:3306 weight 1 check inter 1s rise 2 fall 2 server mysql2 192.168.246.162:3306 weight 1 check inter 1s rise 2 fall 2 找一台机器做为客户端去测试,在测试的时候注意mysql的远程登录权限

Haproxy+MyaqL实现四层负载均衡实验操作

1、两台数据库准备,创建不同的库方便区分

yum -y install mariadb mariadb-server systemctl start mariadb mysql creata database db1; create database db2; grant all on *.* to 'root'@'%' identified by '123'; flush privileges;

2、haproxy配置

[root@haproxy-slave ~]# vim /etc/haproxy/haproxy.cfg global log 127.0.0.1 local2 pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemon nbproc 1 defaults mode http log global option redispatch retries 3 maxconn 4000 contimeout 5000 clitimeout 50000 srvtimeout 50000 listen stats bind *:80 stats enable stats uri /haproxy stats auth qianfeng:123 listen mysql bind *:3306 mode tcp balance roundrobin server mysql1 192.168.138.132:3306 weight 1 check inter 1s rise 2 fall 2 server mysql2 192.168.138.135:3306 weight 1 check inter 1s rise 2 fall 2 [root@haproxy-slave ~]# systemctl status haproxy

3、客户端访问验证

[root@haproxy-slave ~]# mysql -u root -p123 -h 192.168.138.131

最新回复(0)