企业级高可用Web架构之HAProxy+Keepalived 推荐
2011-09-20 16:19
405 查看
细数下来,算是东莞的项目的话,HAProxy+Keepalived我差不多也有三套在线上跑了,另外,这套Web方案也是我的一拍网的备份方案之一,目前也在测试,如果速度和稳定性够强劲的话,我也考虑将LVS+Keepalived换成HAProxy+Keepalived,关于HAProxy的语法和安装步骤请参考我的专题系列文章http://network.51cto.com/art/201101/241997.htm,另外,此篇文章跟刘天斯的不一样,我主要用其作为Web级别的负载均衡(七层应用)。
一、线上跑的HAProxy配置文件,代码如下:
1)HAProyx采用的是balance source机制,它跟Nginx的ip_hash机制原理类似,是让客户机访问时始终访问后端的某一台真实的web服务器,这样让session就固定下来了;
2)option httpchk HEAD /index.jsp HTTP/1.0 是网页监控,如果HAProxy检测不到Web的根目录下没有index.jsp,就会产生503报错。
3)有网友说HAProxy必须采用listen 203.93.236.141:80这样类似的格式,这样其实不好,做集群时会导致从机启动不了,我们可以用bind *:80的方式代替。
4)HAProxy的并发监控和日志收集分析是下一步考虑的事情。
一、线上跑的HAProxy配置文件,代码如下:
global log 127.0.0.1 local0 maxconn 65535 chroot /usr/local/haproxy uid 99 gid 99 daemon nbproc 8 pidfile /usr/local/haproxy/haproxy.pid #debug defaults log 127.0.0.1 local3 mode http option httplog option httpclose option dontlognull option forwardfor option redispatch retries 2 maxconn 2000 balance source stats uri /web-status contimeout 5000 clitimeout 50000 srvtimeout 50000 listen www.1paituan.com bind *:80 mode http option httplog log global option httpchk HEAD /index.jsp HTTP/1.0 server web1 203.93.236.147:80 weight 5 check inter 2000 rise 2 fall 3 server web2 203.93.236.146:80 weight 3 check inter 2000 rise 2 fall 3二、HAProxy的监控脚本我没有做,因为生产环境下HAProxy宕机的可能性微乎其乎,这个实施起来也简单,我们可以用如下命令来监控,判断是否返回了正常的200代码,命令下所示:
curl -s --head http://www.1paituan.com/index.jsp | awk '/HTTP/ {print $2}'三、加上日志支持,代码如下:
vim /etc/syslog.conf 添加: local3.* /var/log/haproxy.log local0.* /var/log/haproxy.log vim /etc/sysconfig/syslog 修改: SYSLOGD_OPTIONS="-r -m 0" service syslog restart四、大家需要注意的几个地方是:
1)HAProyx采用的是balance source机制,它跟Nginx的ip_hash机制原理类似,是让客户机访问时始终访问后端的某一台真实的web服务器,这样让session就固定下来了;
2)option httpchk HEAD /index.jsp HTTP/1.0 是网页监控,如果HAProxy检测不到Web的根目录下没有index.jsp,就会产生503报错。
3)有网友说HAProxy必须采用listen 203.93.236.141:80这样类似的格式,这样其实不好,做集群时会导致从机启动不了,我们可以用bind *:80的方式代替。
4)HAProxy的并发监控和日志收集分析是下一步考虑的事情。
相关文章推荐
- 企业级高可用Web架构之HAProxy+Keepalived
- 企业级高可用Web架构之HAProxy+Keepalived
- 高可用web架构: LVS+keepalived+nginx+apache+php+eaccelerator(+nfs可选 可不选)
- debian下完成 haproxy +keepalived 高可用web集群架构
- 企业级web负载均衡完美架构
- 分布式架构高可用架构篇_04_Keepalived+Nginx实现高可用Web负载均衡
- lvs + keepalived + httpd DR模式web层高可用方案架构
- nginx+keepalived高可用web架构
- 分布式架构高可用架构_Keepalived+Nginx实现高可用Web负载均衡
- 揭秘企业级web负载均衡完美架构(图)
- 主题:分布式架构高可用架构_Keepalived+Nginx实现高可用Web负载均衡
- nginx+keepalived企业级web负载均衡架构(单主)
- 一张图讲清楚高可用、高性能、可扩展的WEB系统架构
- 【APP & Web架构】构建高可用MFS分布式文件存储架构 推荐
- 一张图讲清楚高可用、高性能、可扩展的WEB系统架构
- 利用 J2EE 连接器架构和 SOAP 构建“Web服务就绪”的企业级应用
- 企业级web负载均衡完美架构
- 一张图讲清楚高可用、高性能、可扩展的WEB系统架构
- lvs + keepalived + httpd DR模式web层高可用方案架构 推荐
- 企业级-Mysql双主互备高可用负载均衡架构(基于GTID主从复制模式)