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的远程登录权限