apache+glassfish2负载均衡及会话粘滞参考2
Apache
load balancer without Glassfish cluster profile
Requirements
- Apache 2.2.x
- mod_proxy
- mod_proxy_balancer
- mod_rewrite
- Glassfish 2 ur2 +
Setup
Add the following to make Apache load balance to your Glassfish instances:
RewriteEngine On
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
</Location>
<Proxy balancer://mycluster>
BalancerMember http://10.1.1.2:8080 route=w1
BalancerMember http://10.1.1.3:8080 route=w2
BalancerMember http://10.1.1.4:8080 route=w3
</Proxy>
<Location /clusterjsp>
Order allow,deny
Allow from all
</Location>
ProxyPass /clusterjsp balancer://mycluster/clusterjsp stickysession=JSESSIONID
Note the BalancerMember entries mentioned above. These are the separate
Glassfish instances you will need to install. Use the regular Glassfish install
and deploy the clusterjsp application with a /clusterjsp context root. Follow
the directions below for each separate Glassfish instance.
?
The Glassfish distribution contains an example application that allows you
to see how it works in a cluster. You will deploy this application since we are
still running the load-balancer. See
GLASSFISH_ROOT/samples/quickstart/clusterjsp.
?
Go to the administration console of your Glassfish installation. Click on
the Applications tab and click on Deploy, select the clusterjsp.ear file that
you found in the Glassfish samples directory. Then click OK. Then browse to
http://localhost/clusterjsp and see your work in action!
?
To make sure the session sticks you will have to set a JVM option, add the
following JVM option to your Glassfish instance so it knows it is running in an
Apache cluster setting:
-DjvmRoute=ROUTE
Note ROUTE needs to be the same as the route parameter
mentioned in the BalancerMember entries. I cannot stress this enough, make sure
that this setting matches up otherwise your sticky sessions will NOT work!
?
Once you are finished setting up all the instance continue on below,
otherwise repeat the same process for all the instances you want to setup.
?
You now have both Apache and the Glassfish instances configured so it is
time to check if the load-balancer is online. Browse to
http://localhost/balancer-manager (where localhost is your Apache server) and
verify if the load-balancer sees the 3 workers and if the routes are set.
?
Please send comments, suggestions and any feedback to sales@manorrock.com.