Download pdf - JBoss EAP clustering

Transcript
Page 1: JBoss EAP clustering

Hochverfügbarkeit  mit  der          

                                                                                                   Enterprise  Applica9on    Pla;orm  

   

Heinz  Wilming    

[email protected]    

akquinet  AG  

Page 2: JBoss EAP clustering

Eigenscha:en  Java  Enterprise  Edi?on    

zuverlässig  

sicher  skalierbar  

wartbar  

Page 3: JBoss EAP clustering

EAP6  !=  EAP5  +1    

Page 4: JBoss EAP clustering

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

Lastverteilung  ohne  Session  Replika?on  

     

Skalierung  

Page 6: JBoss EAP clustering

Demo  

Page 7: JBoss EAP clustering

mod_cluster  

AJP  Request  MCMP  Worker,  Context,  Load-­‐Metrics  

HTTP  /  HTTPS  

Page 8: JBoss EAP clustering

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

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

Session  Replika?on  

Page 11: JBoss EAP clustering

Demo  

Page 12: JBoss EAP clustering

Subsysteme  

Page 13: JBoss EAP clustering

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

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

Cluster  Kommunika?on  

Page 16: JBoss EAP clustering

JGroups  Transport  

Page 17: JBoss EAP clustering

UDP  

Page 18: JBoss EAP clustering

TCP  

Page 19: JBoss EAP clustering

TUNNEL  

Page 20: JBoss EAP clustering

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

Replica?on  -­‐  Cache  mode  

Page 22: JBoss EAP clustering

Distribu?on-­‐  Cache  mode  

Page 23: JBoss EAP clustering

L1  -­‐  Cache  mode  

Page 24: JBoss EAP clustering

Invalida?on  -­‐  Cache  mode  

Page 25: JBoss EAP clustering

Cluster  Par??onen  

Page 26: JBoss EAP clustering

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

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

HornetQ  -­‐  Lastverteilung  

Page 29: JBoss EAP clustering

HornetQ  -­‐  Failover  

•  Ab  JBoss  EAP  6.1  (HornetQ  2.3)  -­‐  In-­‐Memory  Message  Replica?on  

Page 30: JBoss EAP clustering

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

akquinet  AG  –  Standort  Berlin  

JAVA  

Beratung  und  Coaching  

Individuelle  Lösungen  

Betriebsführung  

Schulungen  

Produktberatung  

             


Recommended