smith88 发表于 2016-12-31 09:57:27

Apache+Jetty负载均衡配置

Apache+Jetty负载均衡配置
Apache和jetty组合使用有三种方式:
1、使用Apache mod_proxy和一个普通的Jetty HTTP连接器。
2、使用Apache mod_proxy_ajp和Jetty AJP连接器。
3、使用Apache mod_jk和Jetty AJP连接器。
其中,Jetty推荐使用第一种。推荐理由如下:
1、 使用HTTP,Jetty的性能更好。
2、 AJP协议文档缺乏,且许多版本是违规的。
如果要使用AJP,mod_proxy_ajp优于mod_jk。以前,mod_jk的负载均衡能力使得你必须使用它,但是在Apache2.2,mod_proxy_balancer可用,胜于HTTP和AJP连接器。
使用mod_proxy,实际上是配置反向代理,它只是简单的将请求访问的URL转发到jetty,如果要实现负载均衡,apache还需要加载mod_blancer。
       1、下载Apache
        http://de.apachehaus.com/downloads/,本例版本为httpd-2.2.29-x64
         2、下载Jetty,版本为jetty-8.1.14。
       3、配置Apache 的httpd.conf,在其中增加如下的modules
        LoadModule proxy_module  /modules/mod_proxy.so
        LoadModule proxy_balancer_module  /modules/mod_proxy_balancer.so
        LoadModule proxy_http_module  /modules/mod_proxy_http.so
        LoadModule proxy_ajp_module  /modules/mod_proxy_ajp.so
        LoadModule jk_module  /modules/mod_jk.so 
        在httpd.conf文件末尾增加反向代理配置,
        ProxyRequests Off
        <Proxy *> 
                Order deny,allow 
                Allow from all 
        </Proxy>
        ProxyPass /za http://localhost:8080/
        ProxyPass / http://localhost:8080/
Apache默认配置的是80端口,当访问http://localhost或者http://localhost/za时,请求应转发到jetty,就是http://localhost:8080。
配置完成后,启动Apache,然后访问http://localhost,访问的是jetty页面。
4、负载均衡配置
如果要配置负载均衡,假设本机有两个jetty实例,监听端口分别是8080,8090。则简单的负载均衡配置如下:
        ProxyRequests Off 
 
        <Proxy *> 
                Order deny,allow 
                Allow from all 
        </Proxy> 
 
        ProxyPass /zk balancer://mycluster 
        ProxyPass /zk balancer://mycluster 
 
        <Proxy balancer://mycluster> 
                BalancerMember http://localhost:8109/aa 
                BalancerMember http://localhost:8108/aa 
        </Proxy>   
页: [1]
查看完整版本: Apache+Jetty负载均衡配置