terça-feira, 27 de julho de 2010

Jetty Cluster com WADI

Mortbay Jetty é uma das mais leves implementações Java Servlet 2.0 existentes. A poderosa combinação Jetty + Spring fornece ao desenvolvedor suporte que não fica devendo a nenhum badalado servidor de aplicações JEE do mercado, em termos de flexibilidade e escalabilidade. Escala horizontal? Sim! Veja como utilizar o WADI Application Distribution Infrastructure, que utilizando o tribes do Tomcat, mantem o estado da sessão entre vários nós de Jetty, através de conexões TCP/IP:

1) jetty-6.1.11

2) Baixe as libs necessárias no lib de cada jetty

http://wadi.codehaus.org/ Download WADI 2.1.2

2.1.2 Release Artifacts:

* wadi-aop-2.1.2.jar
* wadi-console-2.1.2.war
* wadi-core-2.1.2.jar
* wadi-group-2.1.2.jar
* wadi-jgroups-2.1.2.jar
* wadi-tribes-2.1.2.jar
* wadi-webapp-2.1.2.war

Libs adicionais:

jetty-wadi-session-manager-7.0.0.jar
asm-3.1.jar
asm-attrs-1.5.3.jar
asm-commons-3.1.jar
asm-tree-3.1.jar
asm-util-3.1.jar
cglib-2.1_3.jar
edu.emory.mathcs.backport-3.1.0.jar
tomcat-juli.jar
commonns-loggin-1.1.1.jar
tribes-6.0.28.jar

3) Defina sua aplicação sob um contexto tendo como interceptador do administrador da sessão o WadiSessionManager. jetty.xml exemplo:

 













127.0.0.1
















/wadi

/java/jetty-6.1.11/webapps/SessionTest.war








CLUSTER

http://localhost:/test








2
24
360
true
false















4) Inicie os seus nós, passando como parâmetro o nome único para cada instância, variáveis que são interpretadas no jetty.xml:

java -Djetty.port=7070 -Dnode.name=orange -Djava.net.preferIPv4Stack=true -jar start.jar etc/jetty-wadi-cluster.xml
java -Djetty.port=8080 -Dnode.name=red -Djava.net.preferIPv4Stack=true -jar start.jar etc/jetty-wadi-cluster.xml
java -Djetty.port=9090 -Dnode.name=blue -Djava.net.preferIPv4Stack=true -jar start.jar etc/jetty-wadi-cluster.xml


Voilá! Estando os nós em uma rede acessível por TCP/IP Multicast, os nós automaticamente se comunicarão e a sessão estará sincronizada entre eles.


http://wadi.codehaus.org/
http://docs.codehaus.org/display/JETTY/Jetty+Clustering+with+WADI