读书人

haproxy运用总结

发布时间: 2012-11-21 08:23:26 作者: rapoo

haproxy使用总结

DESCRIPTION
?????? HAProxy is a TCP/HTTP reverse proxy which is particularly suited for high availability environments.? Indeed,? it
?????? can:
??????? - route HTTP requests depending on statically assigned cookies ;
??????? - spread the load among several servers while assuring server
????????? persistence through the use of HTTP cookies ;
??????? - switch to backup servers in the event a main one fails ;
??????? - accept connections to special ports dedicated to service
????????? monitoring ;
??????? - stop accepting connections without breaking existing ones ;
??????? - add/modify/delete HTTP headers both ways ;
??????? - block requests matching a particular pattern ;
??????? - hold clients to the right application server depending on
????????? application cookies
??????? - report detailed status as HTML pages to authenticated users from an
????????? URI intercepted from the application.

?????? It needs very little resource. Its event-driven architecture allows it to easily handle thousands of simultaneous
?????? connections on hundreds of instances without risking the system's stability.

负载均衡
 global        daemon        maxconn 256    defaults        mode tcp        timeout connect 5000ms        timeout client 50000ms        timeout server 50000ms    frontend testhost        bind *:1998        default_backend servers    backend servers        server server52 127.0.0.1:52 check        server server872 127.0.0.1:872 check        server server42 127.0.0.1:42 check        retries 3        redispatch
?灾难备份
global        daemon        maxconn 256        log 127.0.0.1   local3        pidfile /tmp/haproxy.pid        #stats socket /tmp/haproxy_1.5_dev_11.stats.socket    defaults        mode tcp        timeout connect 5000ms        timeout client 50000ms        timeout server 50000ms        log     127.0.0.1       local3        option log-health-checks    frontend testhost        bind *:1998        default_backend servers    backend servers        server server52 127.0.0.1:52 check        server server872 127.0.0.1:872 check backup
?热启动(修改config让程序立即生效)
#!/bin/bash#haproxy_hot_reload_config.sh#the program will restart the haproxy by using  its hot reconfigurationconfig=" /home/prj/haproxy_conf/haproxy.cfg.mysql212"pidfile=`grep pidfile $config | awk  '{print   $2}'`pid=`cat $pidfile`status=-2if [ -e /proc/$pid/exe ]; then   /usr/local/sbin/haproxy -D -f  $config -sf $pid   status=0else   /usr/local/sbin/haproxy -D -f  $config   status=1fiecho $statusexit $status
?

?

读书人网 >软件架构设计

热点推荐