apache load balancer 翻译

简单翻译apapche 2.2loadbalancer

https://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html


Apache mod_proxy_balancer模块
此模块可以为http, ftp,ajp13提供负载均衡
必须启动mod_proxy, mod_proxy_balancer.

当前有3种负载均衡算法:request counting, weighted traffic counting , pending request counting.通过配置参数lbmethod控制。
大部分负载均衡实现session stickyness通过一张表来对应客户IP与后端服务。不过这有个问题:很多客户是在代理之后。
mod_proxy_balancer是2种方式实现session stickyness:cookies & url encoding.
cookie可以通过后端服务或者apache web服务器自己完成。 URL Encoding通常是通过后端服务做得。

例子:
<Proxy balancer://mycluster>
BalancerMember http://192.168.1.50:80
BalancerMember http://192.168.1.51:80
</Proxy>
ProxyPass /test balancer://mycluster

session stickyness例子。 (即使后端服务没有设置session cookie,也可以通过 mod_headers模块来完成)

Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
<Proxy balancer://mycluster>
BalancerMember http://192.168.1.50:80 route=1
BalancerMember http://192.168.1.51:80 route=2
ProxySet stickysession=ROUTEID
</Proxy>
ProxyPass /test balancer://mycluster

启用负载均衡管理器
此模块需要mod_status支持。 负载均衡管理器可以允许动态更新负载中的机器
<Location /balancer-manager>
SetHandler balancer-manager

Order Deny,Allow
Deny from all
Allow from .example.com
</Location>
通过访问:
 http://your.server.name:8888/balancer-manager

 session stickyness详细介绍
 当使用基于cookie的 session stickyness。需要配置后端使用的cookie名称。这个需要被加入ProxyPass或者ProxySet。Cookie的名称是大小写敏感的。
 均衡器会从cookie中取出此值,然后通过router在集群中查找此值.route同时也必须在ProxyPass或者ProxySet设置。
 后端服务对基于cookie的stickyness 支持稍有不同。例如Tomcat,tomcat将tomcat实例的名字加入 session id cookie,但是通过.来分割。为了让tomcat知道它的实例名,
 需要在tomcat配置文件conf/server.xml配置jvmRouter参数。此参数就是route,可以让工作线程连接到特定的tomcat。tomcat使用的参数是JSESSIONID(大写).也可以通过配置成其他。

 通过URL encoding方式实现stickyness。APACHE web server需要通过URL中查找参数。。。也可以用过apache web server mod_substitue来实现
 java标准实现URL conding略有不同。通过在url后添加分号;作为分隔符然后加入sessionid。
 通过cookie方式。tomcat需要在路径信息中加入jvmRoute,为了让apache查找到这样的路径信息。需要在ProxyPass/ProxySet设置scolonpathdelim=On.
 当然也可以同时使用cooke 和 url encoding.通过|来区分配置cookie名称和url参数。例如
 ProxyPass /test balancer://mycluster stickysession=JSESSIONID|jsessionid scolonpathdelim=On
<Proxy balancer://mycluster>
BalancerMember http://192.168.1.50:80 route=node1
BalancerMember http://192.168.1.51:80 route=node2
</Proxy>

如果配置时用问题.
检查的第一步是 查看是通过cookie还是URL encoding来实现stickyness。下一步是查看access日志


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值