haproxy

一、概念

       HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。 HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数。多进程多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接事件驱动模型因为在有更好的资源和时间管理的用户空间(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作。

      1、global:参数是进程级的,通常是和操作系统相关。这些参数一般只设置一次,如果配置无误,就不需要再 次进行修改
     2、defaults:配置默认参数,这些参数可以被用到frontend,backend,Listen组件
     3、frontend:接收请求的前端虚拟节点,Frontend可以更加规则直接指定具体使用后端的backend
     4、backend:后端服务集群的配置,是真实服务器,一个Backend对应一个或者多个实体服务器

     5、Listen Fronted和backend的组合体

二、安装


1.haproxy安装包  haproxy-1.3.28.tar.gz

2.上传并解压:

 tar -zxvf haproxy-1.3.28.tar.gz 

创建目录   mkdir /usr/local/haproxy/

3.安装

cd haproxy-1.3.28

make  TARGET=linux26  PREFIX=/home/haproxy/haproxy  

#将haproxy安装到/usr/local/haproxy ,TARGET是指定内核版本

make install PREFIX=/usr/local/haproxy  

创建主配置文件目录/usr/local/haproxy/conf

cp  /mnt/haproxy-1.3.28/examples/haproxy.cfg  /usr/local/haproxy/conf/

三、配置

vim /usr/local/haproxy/conf/haproxy.cfg


# this config needs haproxy-1.1.28 or haproxy-1.2.1

global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 notice
        #log loghost    local0 info
        maxconn 4096
        chroot /usr/share/haproxy
        uid 99
        gid 99
        daemon
        #debug
        #quiet

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
#       redispatch
        maxconn 2000
 
.......


listen  appli5-backup 0.0.0.0:10005
        option  httpchk *
        balance roundrobin
        cookie  SERVERID insert indirect nocache
        server  inst1 192.168.114.56:80 cookie server01 check inter 2000 fall 3
        server  inst2 192.168.114.56:81 cookie server02 check inter 2000 fall 3
        server  inst3 192.168.114.57:80 backup check inter 2000 fall 3
        capture cookie ASPSESSION len 32
        srvtimeout      20000

        option  httpclose               # disable keep-alive
        option  checkcache              # block response if set-cookie & cacheable

        rspidel ^Set-cookie:\ IP=       # do not let this cookie tell our internal IP address

#       errorloc        502     http://192.168.114.58/error502.html
#       errorfile       503     /etc/haproxy/errors/503.http


listen test

        bind 0.0.0.0:90
        mode http
        server server1 172.25.31.1:80  weight 1
        server server2 172.25.31.2:80  weight 1

启动服务:
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg


四、测试

测试环境:

server1 172.25.31.1:90      配有haproxy http

server2 172.25.31.2:80/index.html     server2 > index.html    配有http

1、打开server1的haproxy http 以及server2 的 http

2、分别在物理机浏览器上访问   172.25.31.1:90  以及 172.25.31.2:80/index.html

都会显示 server2

3、若关闭server1的haproxy



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值