Haproxy二:负载算法+七层负载均衡

1.4 Haproxy负载均衡算法
 HAProxy的算法有如下8种:
 roundrobin,表示简单的轮询,
 static-rr,表示根据权重,建议关注;
 leastconn,表示最少连接者先处理,建议关注;
 source,表示根据请求源IP,建议关注;
 uri,表示根据请求的URI;
 url_param,表示根据请求的URl参数’balance url_param’ requires an URL parameter name
 hdr(name),表示根据HTTP请求头来锁定每一次HTTP请求;
 rdp-cookie(name),表示根据据cookie(name)来锁定并哈希每一次TCP请求。
1.4.1 调度算法source
haroxy 将用户IP经过hash计算后 指定到固定的真实服务器上(类似于nginx 的IP hash 指令)
配置指令 balance source
1.4.2 cookie 识别
haproxy 将WEB服务端发送给客户端的cookie中插入(或添加加前缀)haproxy定义的后端的服务器COOKIE ID。
配置指令例举 cookie SESSION_COOKIE insert indirect nocache
1.4.3 session 识别
haproxy 将后端服务器产生的session和后端服务器标识存在haproxy中的一张表里。客户端请求时先查询这张表。然后根据session分配后端server。
配置指令:appsession len timeout
1.5 Haproxy 七层负载均衡
reqirep ^Host:\ www.abc.com Host:\ abc.com
acl host_abc_com hdr(host) -i abc.com
acl host_cn hdr_end(host) -i .cn
acl host_xyz hdr_beg(host) -i xzy.
acl url_xxx url_reg -i ^/xxx
use_backend host-abc-com if host_abc_com
use_backend host-cn if host_cn
use_backend host-xyz-url-xxx if host_xyz url_xxx
default_backend default-servers

1.5.1 根据URL后缀进行负载均衡
acl php_web url_reg /*.php$
#acl php_web path_end .php # 定义一个名叫php_web的acl,当请求的url末尾是以.php结尾的,将会被匹配到,上面两种写法任选其一

acl static_web url_reg /*.(css|jpg|png|jpeg|js|gif)$
#acl static_web path_end .gif .png .jpg .css .js .jpeg

定义一个名叫static_web的acl,当请求的url末尾是以.css、.jpg、.png、.jpeg、.js、.gif结尾的,将会被匹配到,上面两种写法任选其一

use_backend php_server if php_web

如果满足策略php_web时,就将请求交予backend php_server

use_backend static_server if static_web

如果满足策略static_web时,就将请求交予backend static_server

1.5.2 根据url进行负载均衡
acl invitec url_reg /invitec_pk.do
use_backend b_yxpopo_com_pk if invitec
1.5.3 根据User-Agent实现域名跳转
需求如下:
1:域名www.example.com PC端访问正常显示
2:手机端:Android iPhone 访问首页跳转到wap.example.com,
3:static big_* small_* 这几类文件开头的进行跳转进行跳转效果如下所示:
访问:http://club.jesse.com/static/20130916/27635260.htm
跳转到:http://3g.club.jesse.com/static/20130916/27635260.htm
4:手机端访问:除规则3以外的不跳转:如http://club.xywy.com/top.htm
访问URL 不变。
Haproxy主要配置如下:
acl static_d path_beg /static /small /big #匹配XX开始的
acl index_page path_reg ^/$ #匹配首页
acl ua hdr_reg(User-Agent) -i iphone android #匹配User-Agent类型
acl club hdr_reg(host) -i club.jesse.com #匹配访问的域名
redirect prefix http://3g.club.jesse.com if ua static_d club #匹配相关的ACL策略就进行跳转
redirect prefix http://3g.club.jesse.com if index_page ua club
use_backend club_pool if club

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值