Um mehrere Web-Application Server hochverfügbar/loadbalanced zu gestalten, kann man dies mit Apache und mod_jk als Web-Frontend durchführen. Hier verwendete Versionen sind
Als error-Dokument sollen
/etc/apache2/sites-enabled/001-loadbalancer.conf
NameVirtualHost 192.168.1.80:80
<VirtualHost 192.168.1.80:80>
DocumentRoot /var/www/html/tiri
ServerName loadbalancer.1-search.de
ErrorLog /var/log/apache2/loadbalancer-error_log
TransferLog /var/log/apache2/loadbalancer-access_log
JkMount /tiri/* loadbalancer
JkRequestLogFormat "%m %w %v %U %s %T"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkLogFile /var/log/apache2/loadbalancer-jk_log
JkLogLevel info
ErrorDocument 404 http://loadbalancer.1-search.de/e-index-404.html
ErrorDocument 500 http://loadbalancer.1-search.de/e-index-500.html
ErrorDocument 503 http://loadbalancer.1-search.de/e-index-503.html
<Directory /var/www/html/tiri>
Options FollowSymLinks
AllowOverride All
DirectoryIndex index.html
</Directory>
</VirtualHost>
/etc/apache2/mods-enabled/jk.load
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so
/etc/apache2/mods-enabled/jk.conf
JkWorkersFile /etc/apache2/workers.properties JkLogFile /var/log/apache2/jk.log JkLogLevel info
/etc/apache2/workers.properties
# In Unix, we use forward slashes: ps=/ worker.list=tiri,loadbalancer,tiristatus worker.maintain=60 worker.tiristatus.type=status worker.tiristatus.read_only=true worker.tiri.type=lb worker.tiri.balance_workers=jboss2 worker.jboss1.port=8009 worker.jboss1.host=192.168.4.80 worker.jboss1.type=ajp13 worker.jboss1.socket_keepalive=1 worker.jboss1.socket_timeout=600 worker.jboss1.lbfactor=1 worker.jboss1.connection_pool_size=1 worker.jboss1.connection_pool_timeout=120 worker.jboss2.port=8009 worker.jboss2.host=192.168.4.81 worker.jboss2.type=ajp13 worker.jboss2.socket_keepalive=1 worker.jboss2.socket_timeout=600 worker.jboss2.lbfactor=1 worker.jboss2.connection_pool_size=1 worker.jboss2.connection_pool_timeout=120 worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=jboss2,jboss1 worker.loadbalancer.sticky_session=true worker.loadbalancer.sticky_session_force=false worker.loadbalancer.method=session worker.loadbalancer.lock=optimistic
Einen “Full thread Dump des Java HotSpot(TM) Server”s erreicht man durch kill -3 auf den JBoss Prozess. Hierdurch läßt sich feststellen, was aktuell im System passiert. Die Ausgabe erfolgt nach STDOUT.