使用glassfish实现负载均衡和集群
2012-2-27
版本:glassfish v3 ? ?apache httpd-2.2.22 ?mod_jk-apache-2.2.2.so
glassfish已经内部实现集群步骤
启动某个域后,打开后台管理
1.创建一个节点
2.创建一个集群并指向特定节点
3.在集群下创建实例,实例分两种,本机的和远程的。远程的要使用SSH安全套接字。确认后会给出新的监听端口
4.部署一个应用。在应用管理中更改应用的目标,将目标改为集群
5.通过集群实例的url和新端口测试是否成功
使用负载均衡
glassfish内部已经默认支持mod_jk,而且如果使用mod_jk将只能使用apache httpd前端
1.在后台选择glassfish中的集群实例,在实例管理页面中选中使用JK
2.安装httpd
3.在httpd中加入mod_jk加载模块,将mod_jk.so复制到httpd的modules目录下。注意:httpd与mod_jk版本一定要相同
4.配置httpd的conf文件,加入请求监听转向到glassfish集群中的端口
在conf/httpd.conf文件最后加入
?
include "D:\Apache2.2\conf\mod_jk.conf"?
?新建文件mod_jk.conf
文件内容
?
LoadModule jk_module modules/mod_jk.so# Where to find workers.propertiesJkWorkersFile conf/workers.properties# Where to put jk logsJkLogFile logs/mod_jk.log# Set the jk log level [debug/error/info]JkLogLevel error# Select the log formatJkLogStampFormat "[%a %b %d %H:%M:%S %Y] "# JkOptions indicate to send SSL KEY SIZE,JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories# JkRequestLogFormat set the request formatJkRequestLogFormat "%w %V %T"JkShmFile logs/mod_jk.shmJkMount /* worker1?
?新建文件workers.properties
内容
?
# Define 1 real worker using ajp13worker.list=worker1,worker2,loadbalancer# Set properties for worker1 (ajp13)worker.worker1.type=ajp13worker.worker1.host=127.0.0.1worker.worker1.port=28080worker.worker1.lbfactor=1worker.worker1.socket_keepalive=1worker.worker1.reclycle_timeout=300#worker.worker1.cache_timeout=600#worker.worker1.cachesize=128# Set properties for worker2 (ajp13)worker.worker2.type=ajp13worker.worker2.host=127.0.0.1worker.worker2.port=28081worker.worker2.lbfactor=1worker.worker2.socket_keepalive=1worker.worker2.reclycle_timeout=300#worker.worker2.cachesize=128#worker.worker2.cache_timeout=600worker.loadbalancer.type=lbworker.loadbalancer.balance_workers=worker1,worker2#worker.loadbalancer.sticky_session=1?
?
完成,启动httpd,测试成功