haproxy安装配置(笔记二)

一、HAProxy 负载均衡器算法与使用技巧

1、HAProxy 支持的负载均衡算法

  1. 、roundrobin,表示简单的轮询,负载均衡基础算法(静态 web 系统)
  2. 、static-rr,表示根据权重静态 web 系统
  3. 、leastconn,表示最少连接者先处理(db 系统
  4. 、source,表示根据请求源 IP(动态 web 系统
  5. 、uri,表示根据请求的 URI;
  6. 、url_param,表示根据请求的 URl 参数来进行调度
  7. 、hdr(name),表示根据 HTTP 请求头来锁定每一次 HTTP 请求;
  8. 、rdp-cookie(name),表示根据据 cookie(name)来锁定并哈希每一次 TCP 请求

 

 

2、常用的负载均衡算法

  1. 轮询算法:roundrobin
  2. 根据请求源 IP 算法:source
  3. 最少连接者先处理算法:lestconn

二、通过HAProxy 的 ACL 规则实现智能负载均衡

 

1、通过设置的 ACL 规则检查客户端请求是否合法。如果符合 ACL 规则要求,那么就将放行,反正,如果不符合规则,则直接中断请求。

2、符合 ACL 规则要求的请求将被提交到后端的 backend 服务器集群,进而实现基于 ACL 规则的负载均衡。

acl 自定义的 acl 名称 acl 方法 -i [匹配的路径或文件]

 

 

  1. acl:是一个关键字,表示定义 ACL规则的开始。后面需要跟上自定义的 ACL名称 。
  2. acl 方法:这个字段用来定义实现 ACL 的方法,HAProxy 定义了很多 ACL 方法, 经常使用的方法有 hdr_reg(host)、hdr_dom(host)、hdr_beg(host)、url_sub、url_dir、path_beg、path_end 等。
  3. 经常使用的方法:
hdr_beg(host) 精确匹配主机, 表示以什么开头的域名
hdr_reg(host) 正则匹配主机,表示以什么开头的域名
path_beg匹配路径,表示以什么路径开头

path_end

匹配路径结尾,表示以什么路径结尾

url_sub

表示请求 url 中包含什么字符串

url_dir

表示请求 url 中存在哪些字符串作为部分地址路径

例如 acl file_req url_sub -i killall=,在请 url 包含 killall=,则此控制策略返回 true

acl dir_req url_dir -i allow,表示在请求 url 中存在 allow 作为部分地址路径,则此控制策略返回 true,否则返回 false

4、-i:表示忽略大小写,后面需要跟上匹配的路径或文件或正则表达式。

5、与 ACL 规则一起使用的 HAProxy 参数还有use_backend,use_backend 后面需要跟上一个 backend 实例名,表示在满足 ACL 规则后去请求哪个 backend 实例,与 use_backend 对应的还有 default_backend 参数,它表示在没有满足ACL 条件的时候默认使用哪个后端 backend。

下面列举几个常见的 ACL 规则例子:

acl www_policy hdr_reg(host) -i ^(www.z.cn|z.cn)

acl bbs_policy hdr_dom(host)   -i bbs.z.cn

acl url_policy url_sub  -i buy_sid=

use_backend server_www if www_policy

use_backend server_app if url_policy

use_backend server_bbs if bbs_policy

default_backend server_cache

 

三、启动与测试 haproxy 的负载均衡功能

1、启动与管理haproxy

启动服务:

# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg

 

重启服务:

# /usr/local/haproxy /sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg -st `cat /usr/local/haproxy/logs/haproxy.pid`

停止服务

# killall haproxy

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值