Haproxy

HAProxy
HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能。最关键的是,HAProxy具备媲美商用负载均衡器的性能和稳定性。
1.负载均衡:L4和L7两种模式,支持RR/静态RR/LC/IP Hash/URI Hash/URL_PARAM Hash/HTTP_HEADER Hash等丰富的负载均衡算法
2.健康检查:支持TCP和HTTP两种健康检查模式
3.会话保持:对于未实现会话共享的应用集群,可通过Insert Cookie/Rewrite Cookie/Prefix Cookie,以及上述的多种Hash方式实现会话保持
4.SSL:HAProxy可以解析HTTPS协议,并能够将请求解密为HTTP后向后端传输
5.HTTP请求重写与重定向
6.监控与统计:HAProxy提供了基于Web的统计信息页面,展现健康状态和流量数据。基于此功能,使用者可以开发监控程序来监控HAProxy的状态
性能
    采用单线程、事件驱动、非阻塞模型,减少上下文切换的消耗,能在1ms内处理数百个请求。并且每个会话只占用数KB的内存。
    大量精细的性能优化,如O(1)复杂度的事件检查器、延迟更新技术、Single-buffereing、Zero-copy forwarding等等,这些技术使得HAProxy在中等负载下只占用极低的CPU资源。
    HAProxy大量利用操作系统本身的功能特性,使得其在处理请求时能发挥极高的性能,通常情况下,HAProxy自身只占用15%的处理时间,剩余的85%都是在系统内核层完成的。
    HAProxy作者在8年前(2009)年使用1.4版本进行了一次测试,单个HAProxy进程的处理能力突破了10万请求/秒,并轻松占满了10Gbps的网络带宽。
HAProxy一旦成功启动,除非操作系统或硬件故障,否则就不会崩溃
配置

global #全局属性
        daemon  #以daemon方式在后台运行
        maxconn 256  #最大同时256连接
        pidfile /home/ha/haproxy/conf/haproxy.pid  #指定保存HAProxy进程号的文件

    defaults #默认参数
        mode http  #http模式
        timeout connect 5000ms  #连接server端超时5s
        timeout client 50000ms  #客户端响应超时50s
        timeout server 50000ms  #server端响应超时50s

    frontend http-in #前端服务http-in
        bind *:8080  #监听8080端口
        default_backend servers  #请求转发至名为"servers"的后端服务

    backend servers #后端服务servers
        server server1 127.0.0.1:8000 maxconn 32  #backend servers中只有一个后端服务,名字叫server1,起在本机的8000端口,HAProxy同时最多向这个服务发起32个连接

 

注意:HAProxy要求系统的ulimit -n参数大于[maxconn*2+18],在设置较大的maxconn时,注意检查并修改ulimit -n参数

HAProxy的配置文件共有5个域
    global:    用于配置全局参数
    default:    用于配置所有frontend和backend的默认属性
    frontend:    用于配置前端服务(即HAProxy自身提供的服务)实例
    backend:    用于配置后端服务(即HAProxy后面接的服务)实例组
    listen:    frontend+backend的组合配置,可以理解成更简洁的配置方法
global域的关键配置
    daemon:指定HAProxy以后台模式运行,通常情况下都应该使用这一配置
    user [username] :指定HAProxy进程所属的用户
    group [groupname] :指定HAProxy进程所属的用户组
    log [address] [device] [maxlevel] [minlevel]:日志输出配置,如log 127.0.0.1 local0 info warning,即向本机rsyslog或syslog的local0输出info到warning级别的日志。其中[minlevel]可以省略。HAProxy的日志共有8个级别,从高到低为emerg/alert/crit/err/warning/notice/info/debug
    pidfile :指定记录HAProxy进程号的文件绝对路径。主要用于HAProxy进程的停止和重启动作。
    maxconn :HAProxy进程同时处理的连接数,当连接数达到这一数值时,HAProxy将停止接收连接请求

stats enable:启用统计页;基于默认的参数启用stats page;
						
stats auth <user>:<passwd>:认证时的账号和密码,可使用多次;默认不需要认证
							
stats realm <realm>:认证时的标题,提示;默认为 "HAProxy Statistics"
							
stats uri <prefix>:自定义stats page uri,访问的接口,默认 /haproxy?stats,
							
stats refresh <delay>:设定自动刷新时间间隔;
							
stats admin { if | unless } <cond>:启用stats page中的管理功能

stats hide-version 隐藏版本信息
							
配置示例:
listen stats
    bind :9099
    stats enable
    stats uri  /haproxy?admin
    stats realm HAPorxy\ Stats\ Page
    stats auth admin:haproxy
    stats admin if TRUE	

访问uri为:http://HAProxy_IP:9099/haproxy?admin

启动    service haproxy start
停止    service haproxy stop
重启    service haproxy restart  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值