HAProxy

来源:互联网 发布:伺服电机plc编程 编辑:程序博客网 时间:2024/06/12 18:17

HAProxy和Lvs、nginx对比

1.功能比较多:web服务代理(多)|smpt|pop3等(tcp协议族里面的都可以)2.支持节点的健康检查(Nginx无),当服务器出现故障时回被HAproxy自动摘除,恢复时,回被自动添加进去。代理模式,类似于Lvs的nat模式,web服务器都是在私网之内的,不会暴露在公网上,所有的节点服务器不再需要公网地址(不会轻易被攻击)。3.主要支持两种模式:    (1)基于4层的tcp代理模式(Mysql|邮件服务|HTTPs服务等):仅在客户端的服务器之间进行流量转发2)基于7层的http代理模式:会分析应用层的协议,并且通过允许、拒绝、交换、增加、修改、删除请求或者回应里指定内容来控制协议
基于4层:client--负载均衡器(Nginx|HAProxy|Lvs)--web服务器--内网交换机--RS--web--负载均衡器--client*吞吐量有限制基于7层:

haproxy与apache实现负载均衡

在server3中

yum install -y haproxyvim /etc/haproxy/haproxy.cfg...# this config needs haproxy-1.1.28 or haproxy-1.2.1globallog 127.0.0.1 local0 #日志输出配置,所有日志都记录在本机,通过 local0 输出# log 127.0.0.1 local1 notice ##定义 haproxy 日志级别#log loghost local0 infomaxconn 4096##默认最大连接数chroot /usr/share/haproxy #chroot 运行路径uid 99 #运行 haproxy 用户 uidgid 99 #运行 haproxy 用户 giddaemon #以后台形式运行 haproxynbproc 1 #设置进程数量#debug#quietdefaultslog globalmodehttp##默认模式 tcp 是 4 层(转发) http 是 7 层(代理)option httplog #日志级别option dontlognull #不记录健康检查日志信息retries 2#2 次连接失败就认为服务器不可用option redispatchmaxconn 2000#最大连接数contimeout 5000#连接超时clitimeout50000##客户端超时srvtimeout50000 ##服务器超时frontend webbind *:80default_backend webserver#默认访问后端为 webserverbackend webservermode httpbalance roundrobin ##轮询server server7 172.25.66.4:80 check inter 2000 rise 2 fall 5server server8 172.25.66.5:80 check inter 2000 rise 2 fall 5#check inter 2000 检测心跳频率 rise 2 2 次正确热播为服务器可用fall5 失败5次服务器不可用.....启动:/et/init.d/haproxy start

在 server4和server5上

yum install -y httpd/etc/init.d/httpd startecho server4 > /vae/www/html/index.htmlecho server5> /vae/www/html/index.html

测试:
curl 172.25.66.3

curl 172.25.66.3server4curl 172.25.66.3serer5curl 172.25.66.3server4curl 172.25.66.3server5
原创粉丝点击