openfire 集群 http-bind 负载均衡

本次测试各版本说明:
apache 2.2    openfire 3.8.1 集群插件:hazelcast

1,修改openfire代码
1.1 HttpBindManager.java

1.2修改conf/openfire.xml
增加下面配置
<clustering><enabled>true</enabled></clustering> 此行是用来默认开启集群
<httpbind>
    <jetty>
    <route>openfire_e</route>
    </jetty>
</httpbind>
2,通过JSESSIONID做session stickyness
2.1 修改 openfire HttpBindServlet.java代码
2.2 apache开启如下模块功能
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
如果使用openfire jetty ajp连接需要使用下面模块
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
2.3 在apache httpd.conf添加配置
ProxyRequests Off
ProxyPreserveHost On

ProxyPass /http-bind/  balancer://openfirecluster stickysession=JSESSIONID|jsessionid nofailover=On
ProxyPassReverse /http-bind/ balancer://openfirecluster stickysession=JSESSIONID|jsessionid
<proxy balancer://openfirecluster>
    BalancerMember http://192.168.112.199:7077/http-bind/ route=openfire_a
    BalancerMember http://192.168.112.54:7077/http-bind/ route=openfire_b
</proxy>

3.通过自定义cookie名做session stickyness
3.1 apache开启如下模块功能
LoadModule headers_module modules/mod_headers.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
如果使用openfire jetty ajp连接需要使用下面模块
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

3.2 在apache httpd.conf添加配置
ProxyRequests Off
ProxyPreserveHost On

Header add Set-Cookie "ROUTEID=ofroute.%{BALANCER_WORKER_ROUTE}e; path=/http-bind;" env=BALANCER_ROUTE_CHANGED
<Proxy balancer://openfirecluster>
    BalancerMember http://192.168.112.199:7077/http-bind/ route=openfire_e
    BalancerMember http://192.168.112.54:7077/http-bind/ route=openfire_s
    ProxySet stickysession=ROUTEID
</Proxy>
ProxyPass /http-bind/  balancer://openfirecluster  nofailover=On
ProxyPassReverse /http-bind/ balancer://openfirecluster



可以通过如下打开负载均衡控制台http://localhost:8888/balancer-manager apache端口:8888
ProxyPass /balancer-manager !
<Location /balancer-manager>
  SetHandler balancer-manager
  Order allow,deny
  Allow from all
</Location>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值