Jeden server je single point of failure. Pro klienty s pozadavkem na 99.9 procent uptime potrebujeme cluster. GlassFish 3.1 ma clustering zabudovany.
Architektura¶
2x GlassFish instance na separatnich serverech, 1x DAS pro centralni spravu, Apache HTTP s mod_jk jako load balancer, Oracle databaze.
Session replikace¶
In-memory replikace pres GMS pro transparentni failover. Vsechny objekty v HTTP session musi implementovat Serializable — jinak replikace tise selze.
Load balancing¶
mod_jk s sticky_session=1. Uzivatel je posilan na stejny node. Replikace je pojistka pro pripad vypadku.
Failover testovani¶
Testujeme: graceful shutdown, kill -9, network partition. Kazdy scenar ma jine chovani. Cluster bez testovani je k nicemu.
Zaverem¶
GlassFish clustering funguje, ale vyzaduje peclivou konfiguraci a dukladne testovani. S clusterem mate vic komponent, ktere mohou selhat.