JBoss EAP clustering
description
Transcript of JBoss EAP clustering
Eigenscha:en Java Enterprise Edi?on
zuverlässig
sicher skalierbar
wartbar
EAP6 != EAP5 +1
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)
Lastverteilung ohne Session Replika?on
Skalierung
Demo
mod_cluster
AJP Request MCMP Worker, Context, Load-‐Metrics
HTTP / HTTPS
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)
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)
Session Replika?on
Demo
Subsysteme
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)
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
Cluster Kommunika?on
JGroups Transport
UDP
TCP
TUNNEL
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
Replica?on -‐ Cache mode
Distribu?on-‐ Cache mode
L1 -‐ Cache mode
Invalida?on -‐ Cache mode
Cluster Par??onen
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
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
HornetQ -‐ Lastverteilung
HornetQ -‐ Failover
• Ab JBoss EAP 6.1 (HornetQ 2.3) -‐ In-‐Memory Message Replica?on
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
akquinet AG – Standort Berlin
JAVA
Beratung und Coaching
Individuelle Lösungen
Betriebsführung
Schulungen
Produktberatung