JBoss EAP clustering

Preview:

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.

Citation preview

Hochverfügbarkeit  mit  der          

                                                                                                   Enterprise  Applica9on    Pla;orm  

   

Heinz  Wilming    

heinz.wilming@akquinet.de    

akquinet  AG  

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  

             

Recommended