bodik j2ee tutorial - addon clustering ------------------------------------------ autor: bodik@civ.zcu.cz Clustering provozujeme z nekolika duvodu: * pro prostredky - zvyseni dostupne pameti pro aplikace ktere v sezeni drzi mnoho dat a do jednoho procesu (JVM) by se tak nevesel pozadovany pocet uzivatelu * pro vykon - vice nezavislych kontejneru soucasne obslouzi vice soucasnych pozadavku (zvlaste pokud jsou na ruznych zelezech) * pro spolehlivost - vice procesu muze pracovat a pokud jeden upadne, praci za nej prevezme jiny a uzivatele nic nepoznaji Na webove urovni je zakladem clusterovani loadbalancer ktery rozdeluje pozadavky z predrazeneho webserveru na jednotlive kontejnery ve kterych bezi aplikace http://httpd.apache.org/docs/2.2/mod/mod_proxy.html Na urovni weoveho kontejneru jde o sdileni dat v HTTP sezeni (session data), tak by pripadny pad jednoho z uzlu nezapricinil ztrat uzivatelovych session dat. Proto si mezi sebou clenove clusteru navzajem tyto data replikuji. Replikace muze probihat v ruznych rezimech: * zpusoby sdileni: databaze, soubor, pamet * kvantita replikace: full mesh, master-slave Na urovni EJB kontejneru se stejnym zpusobem replikuji stavova data EJB objektu. Cluster bez replikace HTTP session dat ----------------------------------------- Pouzivame tam kde potrebujeme jednim clusterem upocitat spoustu klientu a nevadi kdyz pripadne prijdou o session data * v httpd zapnout proxy_balancer * upravit VH jako balancer viz cluster.conf * pridat do server.xml::Engine jvmroute * pouzit jsp-example cart a podivat se co to dela kdyz se zastavuji a spousti jednotlivi clenove clusteru Cluster s replikaci HTTP session dat ----------------------------------------- * pridat mcastBindAddress="127.0.0.1" do * zkonfigurovat * pridat routu, route add -host 228.0.0.4 dev lo * pridat prebirani sezeni a prepisovani session ID (nutne pro cluster > 2 cleny) * otestovat na prikladu servlets-examples/session pridat do aplikacniho web.xml ruzne poshazovavat servery a ladit parametry replikace Poznamky ----------- * zapnuti logovani pomoci org.apache.catalina.cluster v logging.properties Literatura ------------- * http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html * http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass * http://people.apache.org/~mturk/docs/article/ftwai.html * http://www.wellho.net/mouth/2482_Load-balancing-with-sticky-sessions-httpd-Tomcat-.html * http://onjava.com/pub/a/onjava/2004/11/24/replication1.html?page=2 * http://www.markround.com/archives/33-Apache-mod_proxy-balancing-with-PHP-sticky-sessions.html