jboss eap clustering
DESCRIPTION
Die JBoss Enterprise Application Platform (und das Upstream Projekt Wildfly aka JBoss AS 7) enthält ausgereifte Technologien um kritische Java EE Anwendungen Hochverfügbar auf Ebene der Middleware zu betreiben. Die enthaltenen Profile sind bereits für kleinere Cluster Topologien entsprechend konfiguriert. Mit dem Domain Mode des Applikationsservers lassen sich mehrere Server Instanzen komfortabel verwalten. Jedoch birgt ein Cluster eine hohe Komplexität, die Detailkenntnisse der grundlegenden Technologien wie JGroups und Infinispan erfordern. Im Vortrag werden die grundlegenden Konzepte beleuchtet und während des Vortrages wird gezeigt wie ein Cluster im Domain Mode mit der Enterprise Application Platform betrieben werden kann.TRANSCRIPT
![Page 2: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/2.jpg)
Eigenscha:en Java Enterprise Edi?on
zuverlässig
sicher skalierbar
wartbar
![Page 3: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/3.jpg)
EAP6 != EAP5 +1
![Page 4: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/4.jpg)
Clustering Gruppe von Servern, die gleiche Dienste erbringen. Client sieht nur den Cluster nicht die Server.
Ziele: § Fehlertoleranz durch Ausblenden
fehlerha:er Server (⇒ Hochverfügbarkeit, HA)
§ Lastausgleich durch Verteilung an Server Knoten (⇒ Skalierbarkeit)
![Page 5: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/5.jpg)
Lastverteilung ohne Session Replika?on
Skalierung
![Page 6: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/6.jpg)
Demo
![Page 7: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/7.jpg)
mod_cluster
AJP Request MCMP Worker, Context, Load-‐Metrics
HTTP / HTTPS
![Page 8: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/8.jpg)
mod_cluster § Dynamische Konfigura?on der HTTPD worker Adver?se mi`els Mul?cast
§ Intelligente Lastverteilung Einbezug von Lastverteilungsmetriken (cpu, mem, heap, sessions, receive-‐traffic, send-‐traffic, requests, busyness)
§ Load-‐Balancing Groups (aka. Domäne)
![Page 9: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/9.jpg)
mod_cluster vs. mod_jk § mod_jk benö?gt sta?sche Konfigura?on § Cluster Knoten hinzufügen oder engernen (worker.proper?es) § Anwendung hinzufügen oder engernen
(uriworkermap.proper?es)
![Page 10: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/10.jpg)
Session Replika?on
![Page 11: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/11.jpg)
Demo
![Page 12: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/12.jpg)
Subsysteme
![Page 13: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/13.jpg)
Cluster–fähige Applika?onen Clustering einer EJB Session-‐Bean
@Stateless
@Remote(ClusteredStateless.class) @org.jboss.ejb3.annotation.Clustered public class ClusteredStatelessBean implements ClusteredStateless { ... }
Zustandslose Session Beans à dynamische Lastverteilung auf Clusterknoten
Zustandsbeha:ete Session Beans à Session Affinity à Failover
Alterna?v: Deployment-‐Descriptor ( META-‐INF/jboss-‐ejb3.xml)
![Page 14: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/14.jpg)
HTTP Session Replika?on
Replika?on der HTTP-‐Session stellt sicher, dass die Sessions der Klienten auf anderen Cluster-‐Knoten verfügbar sind
<web-app> <distributable/> </web-app>
à WEB-‐INF/web.xml
![Page 15: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/15.jpg)
Cluster Kommunika?on
![Page 16: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/16.jpg)
JGroups Transport
![Page 17: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/17.jpg)
UDP
![Page 18: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/18.jpg)
TCP
![Page 19: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/19.jpg)
TUNNEL
![Page 20: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/20.jpg)
Replica?on Um Hochverfügbarkeit zu unterstützen, müssen die Daten innerhalb des Clusters repliziert werden
Infinispan wird intern für die Replika?on verwendet
![Page 21: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/21.jpg)
Replica?on -‐ Cache mode
![Page 22: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/22.jpg)
Distribu?on-‐ Cache mode
![Page 23: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/23.jpg)
L1 -‐ Cache mode
![Page 24: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/24.jpg)
Invalida?on -‐ Cache mode
![Page 25: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/25.jpg)
Cluster Par??onen
![Page 26: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/26.jpg)
Op?mierung
• JGroups Distribu?on enthält vorkonfigurierte Stacks für unterschiedliche Cluster Topologien – UDP vs. TCP
• Infinispan – ASYNC vs. SYNC – HTTP Session Replica?on
• Replica?on Trigger • Replica?on Granularity
![Page 27: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/27.jpg)
Messaging (HornetQ)
1. Zuverlässigkeit bereits empfangene Nachrichten werden garan?ert zugestellt (gehen nicht verloren)
2. höherer Nachrichtendurchsatz 3. Lastverteilung 4. automa9sches Failover bestehender Verbindungen
![Page 28: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/28.jpg)
HornetQ -‐ Lastverteilung
![Page 29: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/29.jpg)
HornetQ -‐ Failover
• Ab JBoss EAP 6.1 (HornetQ 2.3) -‐ In-‐Memory Message Replica?on
![Page 30: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/30.jpg)
7.2.0.Final
8.0.0 alpha1
6.1.0 alpha
6.1.0 beta
6.1.0 Final
7.x
QA
Zero-‐Dollar-‐Subscrip9on for Development Payed-‐Subscrip9on with Support for Produc9on
Free
![Page 31: JBoss EAP clustering](https://reader031.vdocuments.pub/reader031/viewer/2022012319/548c49f5b47959050d8b6469/html5/thumbnails/31.jpg)
akquinet AG – Standort Berlin
JAVA
Beratung und Coaching
Individuelle Lösungen
Betriebsführung
Schulungen
Produktberatung