SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
 	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  AS	
  7	
  /	
  EAP	
  6	
  -­‐	
  Clustering	
  

	
  
heinz.wilming@akquinet.de	
  
@akquinet	
  
h3p://blog.akquinet.de	
  
	
  
	
  
Was	
  ist	
  die	
  EAP	
  6?	
  


EAP6	
  !=	
  EAP5	
  +1	
  	
  
	
  
JBoss	
  Enterprise	
  ApplicaBon	
  PlaCorm	
  6	
  
¡  Stabile	
  und	
  unterstützte	
  Pla>orm	
  
¡  Basiert	
  auf	
  JBoss	
  ApplicaDon	
  Server	
  7.1.3	
  
¡  ImplemenDert	
  die	
  Java	
  Enterprise	
  EdiDon	
  6	
  SpezifikaDon	
  
    –  Web	
  Profile	
  
    –  Full	
  Profile	
  
¡  EAP6	
  ist	
  für	
  beide	
  Profile	
  zerDfiziert	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                   04.04.13	
     2	
  
Enterprise	
  ApplicaBon	
  PlaCorm	
  6	
  




                                                    7.1.1	
  
                                                    7.1.2	
                     6.0.0	
  
                                                    7.1.3	
                     6.0.1	
  
                                                    7.2.0	
                     6.1.0	
  
                                                                        s	
  
                                                    	
  
                                                                 Bugfixe         alpha	
  

                                                    8.0.0	
      	
  
                                                    alpha1	
  


Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                             03.04.13	
     3	
  
EAP6	
  /	
  JBoss	
  AS	
  7	
  


Ein	
  kompleN	
  neuer	
  Kernel	
  
¡  Einsatz	
  von	
  JBoss	
  Modules	
  und	
  JBoss	
  Modular	
  Service	
  Container	
  (MSC)	
  
¡  Sehr	
  schnelle	
  Startzeiten	
  
¡  Geringer	
  Speicherverbrauch	
  
¡  Bessere	
  Trennung	
  von	
  Diensten	
  
    (z.B.	
  zwei	
  unterschiedliche	
  Nachrichtendienste	
  in	
  einer	
  JVM	
  möglich)	
  
¡  Einfache	
  Verwaltung	
  und	
  KonfiguraDon	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                                          03.04.13	
     4	
  
Domain	
  vs.	
  Standalone	
  
KonfiguraBon	
  und	
  Verwaltung	
  
Verwaltungskonzept	
  


Domain	
  Mode	
                                                    Standalone	
  Mode	
  
	
                                                                  	
  
§  zentrales	
  Management	
  mehrerer	
                           §     Verwaltung	
  genau	
  einer	
  Serverinstanz	
  
    Serverinstanzen	
  und	
  physikalischer	
                      §     Verhalten	
  wie	
  JBoss	
  4/5/6	
  
    Hosts	
                                                         §     Eine	
  Server-­‐Instanz	
  pro	
  JVM	
  
§  Zentraler	
  Domain-­‐Controller	
                              §     Kein	
  Farm-­‐Deployment	
  
§  Verwaltung	
  mehrerer	
  Server	
  (Hosts)	
                   §     Deployment	
  via	
  Filesystem	
  und	
  CLI	
  
§  Zentrale	
  KonfiguraBon	
  	
                                   	
  
§  Zentrales	
  Deployment	
  via	
                                	
  
    MangemenNools,	
  z.B.	
  CLI	
                                 	
  
                                                                    	
  
	
  
	
  
     ⇒  Unabhängig	
  von	
  den	
  Serverfunk3onen	
  und	
  Eigenscha7en	
  	
  	
  	
  
	
   ⇒  Unabhängig	
  von	
  HA,	
  nur	
  ein	
  Verwaltungskonzept	
  



Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                                            03.04.13	
          6	
  
Host	
  und	
  Domain	
  Controller	
  




          	
  
          	
  
Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
     03.04.13	
     7	
  
EAP	
  6	
  Clustering	
  


Cluster	
  =	
  Gruppe	
  von	
  Servern,	
  die	
  gleiche	
  Dienste	
  erbringen	
  
Client	
  sieht	
  nur	
  den	
  Cluster	
  nicht	
  die	
  Server	
  
	
  
	
  
Ziele:	
  
§  Fehlertoleranz	
  durch	
  Ausblenden	
  	
  
     fehlerha`er	
  Server	
  
     (⇒	
  Hochverfügbarkeit;	
  High	
  Availability,	
  HA)	
  

§  Lastausgleich	
  durch	
  Verteilung	
  	
  
    an	
  Server	
  Knoten	
  
    (⇒	
  Skalierbarkeit,	
  Performanz)	
  


	
  
	
  



Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                           03.04.13	
     8	
  
EAP	
  6	
  -­‐	
  KonfiguraBonsprofile	
  


§  default	
                                                     <domain>
    Java	
  EE	
  Web	
  Profile	
  +	
  Erweiterungen	
             <extensions>
                                                                      ...
    wie	
  z.B.:	
  JAX-­‐RS,	
  EJB	
  Remote	
  InvocaDon	
  
                                                                    </extensions>
§  ha	
  
                                                                    <profiles>
    default	
  +	
  Clustering	
  FunkDonen	
                         <profile name="ha">
§  full	
                                                              <subsystem xmlns="urn:">
    Java	
  EE	
  Full	
  Profile	
  	
                                    ...
                                                                        </subsystem>
    +	
  Alle	
  ServerfunkDonen	
  ohne	
  HA	
  
                                                                        ...
§  full-­‐ha	
                                                        </profile>
         Full	
  Profile	
  +	
  Clustering	
                           <profile name="full-ha">
	
                                                                       <subsystem xmlns="urn:">
	
                                                                         ...
	
                                                                       </subsystem>
     	
  Clustering	
  Services	
  (Channel,	
  Cache)	
               </profile>
         werden	
  nur	
  gestartet	
  	
  wenn	
  eine	
           </profiles>
                                                                   </domain>
         abhängiger	
  Service	
  Cluster-­‐
         FunkBonalitäten	
  benöBgt.	
  
	
  
	
  
Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                          03.04.13	
     9	
  
Cluster–fähige	
  ApplikaBonen	
  
Cluster-­‐fähige	
  ApplikaBonen	
  


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	
  

Zustandsbehagete	
  Session	
  Beans	
  	
  
à  Session	
  Affinity	
  
à  Failover	
  

AlternaBv:	
  Deployment-­‐Descriptor	
  (	
  META-­‐INF/jboss-­‐ejb3.xml)	
  

Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                  04.04.13	
     11	
  
 
HTTP	
  Session-­‐ReplikaBon	
  
	
  

ReplikaBon	
  der	
  HTTP-­‐Session	
  stellt	
  sicher,	
  dass	
  die	
  Sessions	
  der	
  Klienten	
  auf	
  anderen	
  
     Cluster-­‐Knoten	
  verfügbar	
  sind	
  
	
  
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
          version="3.0">

               <distributable/>

</web-app>

	
  WEB-­‐INF/web.xml	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                                               03.04.13	
       12	
  
JPA/Hibernate	
  2nd	
  Level	
  Cache	
  


Infinispan	
  ist	
  der	
  Standard	
  2nd	
  Level	
  Cache	
  ab	
  Hibernate	
  3.5	
  
	
  
AkBvierung	
  in	
  der	
  Persistence	
  Unit	
  (persistence.xml)	
  
	
  

<property name="hibernate.cache.use_second_level_cache" value="true" />
	
  
full-­‐	
  und	
  default-­‐Profil	
  	
  
§  Local	
  Cache	
  Container	
  für	
  EnDtäten	
  /	
  CollecDons	
  
ha-­‐Profil	
  
§  InvalidaDon	
  Cache	
  Container	
  für	
  EnDtäten	
  /	
  CollecDons	
  
	
  
Überschreiben	
  der	
  Default-­‐KonfiguraBon	
  
Cache-­‐Container	
  
<property name="hibernate.cache.infinispan.cachemanager“
      value="java:jboss/infinispan/mycache"/>
Cache	
  Region	
  
<property                     name="hibernate.cache.infinispan.entity.cfg" value="entity"/>
<property                     name="hibernate.cache.infinispan.collection.cfg" value="entity"/>
<property                     name="hibernate.cache.infinispan.query.cfg" value="local-query"/>
<property                     name="hibernate.cache.infinispan.timestamp.cfg" value="timestamp"/>
	
  
Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                              03.04.13	
     13	
  
EAP6	
  –	
  Cluster-­‐relevante	
  Subsysteme	
  


JGroups	
  	
  
     GruppenkommunikaDon	
  
Infinispan	
  
     Verteilter	
  Cache	
  
mod_cluster	
  
     HTTP	
  Load-­‐Balancer	
  
	
  
EJB	
  Client	
  Library	
  	
  
     Remote	
  EJB	
  InvocaDon	
  
	
  
	
  
	
  
	
  
	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
      03.04.13	
     14	
  
JGroups	
  


JGroups	
  ist	
  ein	
  Framework	
  für	
  GruppenkommunikaBon.	
  	
  
	
  
Eigenständiges	
  Projekt	
  unter	
  dem	
  Dach	
  von	
  JBoss	
  
     hNp://www.jgroups.org/	
  
	
  
JGroups	
  wird	
  seit	
  JBoss	
  AS	
  3.x	
  für	
  die	
  GruppenkommunikaBon	
  verwendet	
  
	
  
Eigenschagen/Fähigkeiten:	
  
¡  fehlertolerantes	
  Verschicken	
  von	
  Nachrichten	
  in	
  einer	
  Gruppe	
  von	
  Sendern/
    Empfängern;	
  	
  
    sowohl	
  Punkt-­‐zu-­‐Punkt	
  als	
  auch	
  Punkt-­‐zu-­‐Gruppe	
  
¡  Die	
  Gruppe	
  kann	
  dynamisch	
  vergrößert	
  und	
  verkleinert	
  werden	
  
¡  AutomaDsche	
  Erkennung	
  von	
  funkDonsunfähigen	
  Teilnehmern	
  
¡  Verschlüsselung	
  und	
  AuthenDfizierung	
  
¡  Unterschiedliche	
  Protokollpipelines	
  (JGroup	
  Stack)	
  
	
  


Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                                       03.04.13	
     15	
  
JGroups	
  -­‐	
  Transport	
  


UDP	
  
§  UDP-­‐Unicast	
  für	
  Unicast-­‐KommunikaDon	
  
§  IP-­‐MulDcast	
  für	
  MulDcast-­‐KommunikaDon	
  



TCP	
  
§  TCP-­‐Unicast	
  für	
  Unicast-­‐KommunikaDon	
  
§  mehrere	
  TCP-­‐Unicasts	
  	
  
    für	
  MulDcast-­‐KommunikaDon	
  



TUNNEL	
  
§  TCP-­‐Unicast	
  (über	
  GossipRouter)	
  für	
  Unicast-­‐KommunikaDon	
  
§  mehrere	
  TCP-­‐Unicasts	
  (Host	
  nur	
  einer,	
  GossipRouter	
  mehrere)	
  
    für	
  MulDcast-­‐KommunikaDon	
  


Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                           04.04.13	
     16	
  
JGroups	
  –	
  JBoss	
  AS	
  7	
  –	
  KonfiguraBon	
  


JGroups	
  Subsystem-­‐Module	
  enthält	
  eine	
  Standard-­‐KonfiguraBon	
  des	
  JGroups	
  Stacks	
  
	
  
JBOSS_HOME/modules/org/jboss/as/clustering/jgroups/main/
     jboss-as-clustering-jgroups-7.x.x.Final.jar
à jgroups-defaults.xml
	
  
Überschreiben	
  der	
  Standard-­‐KonfiguraBon	
  im	
  JGroups	
  Subsystem:	
  
	
  
<subsystem xmlns="urn:jboss:domain:jgroups:1.1" default-
     stack="udp">
       <stack name="udp">
             ...
       </stack>
       <stack name="tcp">
            ...
       </stack>
</subsystem>
	
  

Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                                03.04.13	
     17	
  
JGroups	
  -­‐	
  Wahl	
  des	
  KommunikaBonsprotokolls	
  	
  


UDP	
  über	
  IP-­‐MulBcast	
  
§  Parameter:	
  MulDcastadresse	
  
§  Gruppenmitglieder	
  finden	
  sich	
  ohne	
  weitere	
  KonfiguraDon	
  selbstständig	
  
	
  
AlternaBv	
  kann	
  UDP	
  (Unicast)	
  oder	
  TCP	
  benutzt	
  werden,	
  
     dann	
  müssen	
  die	
  einzelnen	
  IP-­‐Adressen	
  gepflegt	
  werden	
  

<protocol type="TCPPING">
   <property name="initial_hosts">
      192.168.0.1[7600], 192.168.0.2[7600]
   </property>
   <property name="num_initial_members">2</property>
   <property name="port_range">0</property>
   <property name="timeout">2000</property>
</protocol>
	
  
	
  
	
  


Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                                 03.04.13	
     18	
  
Infinispan	
  


Um	
  Hochverfügbarkeit	
  zu	
  unterstützen,	
  müssen	
  die	
  Daten	
  innerhalb	
  des	
  Clusters	
  
     repliziert	
  werden	
  
	
  
Infinispan	
  wird	
  intern	
  für	
  die	
  ReplikaBon	
  verwendet	
  
	
  
Eigenschagen	
  
§  JSR-­‐107	
  kompaDble	
  Cache	
  Schni3stelle	
  	
  
§  Map	
  
§  Schlüssel-­‐Wert	
  Paaren	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                                     03.04.13	
     19	
  
Local	
  -­‐	
  Cache	
  mode	
  


Lokaler	
  In-­‐memory	
  Cache	
  
ähnlich	
  wie	
  JBoss	
  Cache	
  und	
  EHCache	
  
	
  
Hibernate	
  2nd	
  Level	
  Cache	
  
	
  
	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
          03.04.13	
     20	
  
InvalidaBon	
  -­‐	
  Cache	
  mode	
  


z.B.:	
  Hibernate	
  2nd	
  Level	
  Cache	
  in	
  einer	
  Cluster	
  Umgebung	
  
	
  
	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                         03.04.13	
     21	
  
ReplicaBon	
  -­‐	
  Cache	
  mode	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
     03.04.13	
     22	
  
DistribuBon	
  -­‐	
  Cache	
  mode	
  


Konfigurierbare	
  Anzahl	
  von	
  Kopien	
  (Gute	
  
Skalierbarkeit)	
  
Basiert	
  auf	
  Consistent	
  Hash	
  Algorithmus	
  
	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
           04.04.13	
     23	
  
L1	
  -­‐	
  Cache	
  mode	
  


First	
  Level	
  Cache	
  um	
  Netzwerkaufrufe	
  zu	
  verringern	
  	
  
	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                03.04.13	
     24	
  
Lastverteilung	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
     03.04.13	
     25	
  
HTTP	
  Lastverteilung	
  -­‐	
  mod_cluster	
  vs.	
  mod_jk	
  


mod_jk	
  benöBgt	
  staBsche	
  KonfiguraBon	
  
§  Cluster	
  Knoten	
  hinzufügen	
  oder	
  enpernen	
  (worker.properDes)	
  
§  Anwendung	
  hinzufügen	
  oder	
  enpernen	
  (uriworkermap.properDes)	
  

mod_cluster	
  
§  Dynamische	
  KonfiguraDon	
  der	
  HTTPD	
  worker	
  
     AdverDse	
  mi3els	
  MulDcast	
  
§  Intelligente	
  Lastverteilung	
  
     Einbezug	
  von	
  Lastverteilungsmetriken	
  	
  
     (cpu,	
  mem,	
  heap,	
  sessions,	
  receive-­‐traffic,	
  send-­‐traffic,	
  requests,	
  busyness)	
  
§  Load-­‐Balancing	
  Groups	
  (früher	
  Domäne)	
  	
  
	
  
	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                                          03.04.13	
     26	
  
Load-­‐balancing	
  Groups	
  und	
  ParBBonen	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
      04.04.13	
     27	
  
mod_cluster	
  Manager	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
     04.04.13	
     28	
  
EnCernte	
  EJB	
  Aufrufe	
  


	
  
Remote	
  JNDI	
  	
  JBoss	
  Remote	
  Naming	
  
¡  	
  enpernter	
  Zugriff	
  auf	
  JNDI	
  
	
  
Client	
  JNDI	
  	
  JBoss	
  EJB	
  Client	
  
¡  Nur	
  für	
  EJB-­‐Aufrufe	
  
¡  OpDmiert	
  
         	
  	
  
	
  
	
  	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
        03.04.13	
     29	
  
HornetQ	
  	
  
Clustering	
  und	
  HA	
  
MoBvaBon	
  


1.  	
  Zuverlässigkeit	
  	
  
      bereits	
  empfangene	
  Nachrichten	
  werden	
  garanBert	
  zugestellt	
  (gehen	
  nicht	
  verloren)	
  
2.  	
  höherer	
  Nachrichtendurchsatz	
  
3.  	
  Lastverteilung	
  
4.  	
  automaBsches	
  Failover	
  bestehender	
  Verbindungen	
  
             	
  	
  
	
  
1.  Bietet	
  bereits	
  JMS	
  
2.  Auch	
  möglich	
  ohne	
  HA	
  und	
  Clustering	
  
3.  Clustering	
  
4.  HA	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                                                   04.04.13	
      31	
  
Clustering	
  /	
  Lastverteilung	
  


Cluster-­‐ConnecBon	
  zu	
  jedem	
  Nachbarn	
  
§  empfangene	
  Nachrichten	
  werden	
  
    weitergeleitet	
  (RoundRobin)	
  
§  wenn	
  kein	
  passender	
  Consumer:	
  
    Message-­‐RedistribuDon 	
  	
  
§  RoundRobin	
  kann	
  opDmiert	
  werden:	
  
    nur	
  an	
  Knoten	
  mit	
  passendem	
  
    Consumer	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
      04.04.13	
     32	
  
Hochverfügbarkeit	
  (HA)	
  mit	
  HornetQ	
  


mehrere	
  Server	
  teilen	
  ein	
  Journal	
  
§  gemeinsames	
  Dateisystem	
  
§  ReplikaDon	
  über	
  Netzwerk	
  	
  
     (ab	
  Version	
  2.3	
  bzw.	
  EAP	
  6.1)	
  
	
  
	
  
Live-­‐Backup	
  Prinzip	
  
§  1	
  	
  	
   	
  Live	
  
§  0-­‐1 	
  Backup	
  
§  0-­‐* 	
  bereit	
  Backup	
  zu	
  werden	
  
	
  
Backup	
  Server	
  ist	
  eine	
  JBoss	
  AS	
  7	
  
      Instanz	
  mit	
  HornetQ	
  Subsystem	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
           04.04.13	
     33	
  
HornetQ	
  –	
  Server	
  Discovery	
  


Server	
  Discovery	
  mehrere	
  Server	
  
§  UDP	
  MulBcast	
  (oder	
  	
  JGroups	
  Stack	
  ,	
  ab	
  2.3)	
  
    –  Broadcast-­‐Group:	
  Verbindungsdaten	
  senden	
  
    –  Discovery-­‐Group:	
  Verbindungsdaten	
  empfangen	
  
¡  oder	
  staBsch	
  konfigurierte	
  Nachbarn	
  (Connectors)	
  




Copyright	
  ©	
  2012	
  –	
  akquinet	
  AG	
                               04.04.13	
     34	
  
Diskussion,	
  Fragen	
  und	
  Antworten	
  
akquinet	
  AG	
  
	
  
heinz.wilming@akquinet.de	
  
@akquinet	
  
h3p://blog.akquinet.de	
  
	
  
	
  

Weitere ähnliche Inhalte

Was ist angesagt?

Sql best practices for SharePoint 2010
Sql best practices for SharePoint 2010Sql best practices for SharePoint 2010
Sql best practices for SharePoint 2010
Samuel Zürcher
 
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im Vergleich
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im VergleichOracle und Hochverfügbarkeit – Verschiedene Ansätze im Vergleich
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im Vergleich
Dierk Lenz
 

Was ist angesagt? (18)

What is new in xen Server
What is new in xen ServerWhat is new in xen Server
What is new in xen Server
 
SQL Server 2012 070-462 prüfung deutsch
SQL Server 2012 070-462 prüfung deutschSQL Server 2012 070-462 prüfung deutsch
SQL Server 2012 070-462 prüfung deutsch
 
Ausgewählte PL/SQL Packages (1)
Ausgewählte PL/SQL Packages (1)Ausgewählte PL/SQL Packages (1)
Ausgewählte PL/SQL Packages (1)
 
GWAVACon - SEP sesam Backup: we care about your data (deutsch)
GWAVACon - SEP sesam Backup: we care about your data (deutsch)GWAVACon - SEP sesam Backup: we care about your data (deutsch)
GWAVACon - SEP sesam Backup: we care about your data (deutsch)
 
WildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-AnwendungenWildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-Anwendungen
 
Service Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache MesosService Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache Mesos
 
Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)
Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)
Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)
 
Java EE hochverfügbar
Java EE hochverfügbarJava EE hochverfügbar
Java EE hochverfügbar
 
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
JBoss AS 7 als Plattform moderner Enterprise-AnwendungenJBoss AS 7 als Plattform moderner Enterprise-Anwendungen
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
 
Sql best practices for SharePoint 2010
Sql best practices for SharePoint 2010Sql best practices for SharePoint 2010
Sql best practices for SharePoint 2010
 
Webanwendungen mit Apache HBase entwickeln
Webanwendungen mit Apache HBase entwickelnWebanwendungen mit Apache HBase entwickeln
Webanwendungen mit Apache HBase entwickeln
 
An Introduction to Ruby On Rails
An Introduction to Ruby On RailsAn Introduction to Ruby On Rails
An Introduction to Ruby On Rails
 
Advanced compression option: Entwicklung von 11g zu 12c
Advanced compression option: Entwicklung von 11g zu 12cAdvanced compression option: Entwicklung von 11g zu 12c
Advanced compression option: Entwicklung von 11g zu 12c
 
Datenbankoptimierung
DatenbankoptimierungDatenbankoptimierung
Datenbankoptimierung
 
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im Vergleich
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im VergleichOracle und Hochverfügbarkeit – Verschiedene Ansätze im Vergleich
Oracle und Hochverfügbarkeit – Verschiedene Ansätze im Vergleich
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
GWAVACon 2015: SEP - Backuplösungen auf dem Prüfstand
GWAVACon 2015: SEP - Backuplösungen auf dem PrüfstandGWAVACon 2015: SEP - Backuplösungen auf dem Prüfstand
GWAVACon 2015: SEP - Backuplösungen auf dem Prüfstand
 
Exadata with VM as Consolidation Plattform
Exadata with VM as Consolidation PlattformExadata with VM as Consolidation Plattform
Exadata with VM as Consolidation Plattform
 

Ähnlich wie JBoss AS / EAP Clustering

Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02
Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02
Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02
Java Usergroup Berlin-Brandenburg
 
06 Software Development Guidelines der COMLINE Cloud Service Platform - CSP
06 Software Development Guidelines der COMLINE Cloud Service Platform - CSP06 Software Development Guidelines der COMLINE Cloud Service Platform - CSP
06 Software Development Guidelines der COMLINE Cloud Service Platform - CSP
Christian Guenther
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
s0enke
 

Ähnlich wie JBoss AS / EAP Clustering (20)

MT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG: Sesam oeffne Dich
MT AG: Sesam oeffne Dich
 
Icsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratoren
Icsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratorenIcsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratoren
Icsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratoren
 
Schneller, besser, sparsamer - JBoss 7
Schneller, besser, sparsamer -  JBoss 7Schneller, besser, sparsamer -  JBoss 7
Schneller, besser, sparsamer - JBoss 7
 
bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-admins
bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-adminsbccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-admins
bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-admins
 
Neue Features der Java EE 6
Neue Features der Java EE 6Neue Features der Java EE 6
Neue Features der Java EE 6
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyond
 
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederJSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael Greifeneder
 
Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02
Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02
Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02
 
06 Software Development Guidelines der COMLINE Cloud Service Platform - CSP
06 Software Development Guidelines der COMLINE Cloud Service Platform - CSP06 Software Development Guidelines der COMLINE Cloud Service Platform - CSP
06 Software Development Guidelines der COMLINE Cloud Service Platform - CSP
 
Jbosseapclustering 130605100557-phpapp02
Jbosseapclustering 130605100557-phpapp02Jbosseapclustering 130605100557-phpapp02
Jbosseapclustering 130605100557-phpapp02
 
Microservices mit Java EE - am Beispiel von IBM Liberty
Microservices mit Java EE - am Beispiel von IBM LibertyMicroservices mit Java EE - am Beispiel von IBM Liberty
Microservices mit Java EE - am Beispiel von IBM Liberty
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 
SOA Suite 12c aus der Infrastruktur-Sicht
SOA Suite 12c aus der Infrastruktur-SichtSOA Suite 12c aus der Infrastruktur-Sicht
SOA Suite 12c aus der Infrastruktur-Sicht
 
Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Server
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
 
Sesam (APEX) Öffne Dich
Sesam (APEX) Öffne DichSesam (APEX) Öffne Dich
Sesam (APEX) Öffne Dich
 
Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?
 
Arquillian
ArquillianArquillian
Arquillian
 
AWR und ASH lizenzfrei für alle Editionen der Oracle-DB
AWR und ASH lizenzfrei für alle Editionen der Oracle-DBAWR und ASH lizenzfrei für alle Editionen der Oracle-DB
AWR und ASH lizenzfrei für alle Editionen der Oracle-DB
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
 

Mehr von hwilming

Mehr von hwilming (14)

Introduction Machine Learning - Microsoft
Introduction Machine Learning - MicrosoftIntroduction Machine Learning - Microsoft
Introduction Machine Learning - Microsoft
 
A practical introduction to data science and machine learning
A practical introduction to data science and machine learningA practical introduction to data science and machine learning
A practical introduction to data science and machine learning
 
Exploring Ceylon with Gavin King - JUG BB Talk - Belrin 2014
Exploring Ceylon with Gavin King - JUG BB Talk - Belrin 2014Exploring Ceylon with Gavin King - JUG BB Talk - Belrin 2014
Exploring Ceylon with Gavin King - JUG BB Talk - Belrin 2014
 
Creating Mobile Enterprise Applications with Red Hat / JBoss
Creating Mobile Enterprise Applications with Red Hat / JBossCreating Mobile Enterprise Applications with Red Hat / JBoss
Creating Mobile Enterprise Applications with Red Hat / JBoss
 
SAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss TechnologiesSAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss Technologies
 
JavaAktuell - Skalierbare Cluster-Topologien mit dem JBoss AS 7
JavaAktuell - Skalierbare Cluster-Topologien mit dem JBoss AS 7JavaAktuell - Skalierbare Cluster-Topologien mit dem JBoss AS 7
JavaAktuell - Skalierbare Cluster-Topologien mit dem JBoss AS 7
 
JavaAktuell - Hochverfügbarkeit mit dem JBoss AS 7
JavaAktuell - Hochverfügbarkeit mit dem JBoss AS 7JavaAktuell - Hochverfügbarkeit mit dem JBoss AS 7
JavaAktuell - Hochverfügbarkeit mit dem JBoss AS 7
 
JPA – Der Persistenz-­Standard in der Java EE und SE
JPA – Der Persistenz-­Standard in der Java EE und SEJPA – Der Persistenz-­Standard in der Java EE und SE
JPA – Der Persistenz-­Standard in der Java EE und SE
 
Optimierung von JPA-­Anwendungen
Optimierung von JPA-­AnwendungenOptimierung von JPA-­Anwendungen
Optimierung von JPA-­Anwendungen
 
Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012
 
Aerogear Java User Group Presentation
Aerogear Java User Group PresentationAerogear Java User Group Presentation
Aerogear Java User Group Presentation
 
The Gear you need to go mobile with Java Enterprise - Jax 2012
The Gear you need to go mobile with Java Enterprise - Jax 2012The Gear you need to go mobile with Java Enterprise - Jax 2012
The Gear you need to go mobile with Java Enterprise - Jax 2012
 
Need(le) for Speed - Effective Unit Testing for Java EE
Need(le) for Speed - Effective Unit Testing for Java EENeed(le) for Speed - Effective Unit Testing for Java EE
Need(le) for Speed - Effective Unit Testing for Java EE
 
Need(le) for Speed - Effective Unit Testing for Java EE
Need(le) for Speed - Effective Unit Testing for Java EENeed(le) for Speed - Effective Unit Testing for Java EE
Need(le) for Speed - Effective Unit Testing for Java EE
 

JBoss AS / EAP Clustering

  • 1.                        AS  7  /  EAP  6  -­‐  Clustering     heinz.wilming@akquinet.de   @akquinet   h3p://blog.akquinet.de      
  • 2. Was  ist  die  EAP  6?   EAP6  !=  EAP5  +1       JBoss  Enterprise  ApplicaBon  PlaCorm  6   ¡  Stabile  und  unterstützte  Pla>orm   ¡  Basiert  auf  JBoss  ApplicaDon  Server  7.1.3   ¡  ImplemenDert  die  Java  Enterprise  EdiDon  6  SpezifikaDon   –  Web  Profile   –  Full  Profile   ¡  EAP6  ist  für  beide  Profile  zerDfiziert   Copyright  ©  2012  –  akquinet  AG   04.04.13   2  
  • 3. Enterprise  ApplicaBon  PlaCorm  6   7.1.1   7.1.2   6.0.0   7.1.3   6.0.1   7.2.0   6.1.0   s     Bugfixe alpha   8.0.0     alpha1   Copyright  ©  2012  –  akquinet  AG   03.04.13   3  
  • 4. EAP6  /  JBoss  AS  7   Ein  kompleN  neuer  Kernel   ¡  Einsatz  von  JBoss  Modules  und  JBoss  Modular  Service  Container  (MSC)   ¡  Sehr  schnelle  Startzeiten   ¡  Geringer  Speicherverbrauch   ¡  Bessere  Trennung  von  Diensten   (z.B.  zwei  unterschiedliche  Nachrichtendienste  in  einer  JVM  möglich)   ¡  Einfache  Verwaltung  und  KonfiguraDon   Copyright  ©  2012  –  akquinet  AG   03.04.13   4  
  • 5. Domain  vs.  Standalone   KonfiguraBon  und  Verwaltung  
  • 6. Verwaltungskonzept   Domain  Mode   Standalone  Mode       §  zentrales  Management  mehrerer   §  Verwaltung  genau  einer  Serverinstanz   Serverinstanzen  und  physikalischer   §  Verhalten  wie  JBoss  4/5/6   Hosts   §  Eine  Server-­‐Instanz  pro  JVM   §  Zentraler  Domain-­‐Controller   §  Kein  Farm-­‐Deployment   §  Verwaltung  mehrerer  Server  (Hosts)   §  Deployment  via  Filesystem  und  CLI   §  Zentrale  KonfiguraBon       §  Zentrales  Deployment  via     MangemenNools,  z.B.  CLI           ⇒  Unabhängig  von  den  Serverfunk3onen  und  Eigenscha7en           ⇒  Unabhängig  von  HA,  nur  ein  Verwaltungskonzept   Copyright  ©  2012  –  akquinet  AG   03.04.13   6  
  • 7. Host  und  Domain  Controller       Copyright  ©  2012  –  akquinet  AG   03.04.13   7  
  • 8. EAP  6  Clustering   Cluster  =  Gruppe  von  Servern,  die  gleiche  Dienste  erbringen   Client  sieht  nur  den  Cluster  nicht  die  Server       Ziele:   §  Fehlertoleranz  durch  Ausblenden     fehlerha`er  Server   (⇒  Hochverfügbarkeit;  High  Availability,  HA)   §  Lastausgleich  durch  Verteilung     an  Server  Knoten   (⇒  Skalierbarkeit,  Performanz)       Copyright  ©  2012  –  akquinet  AG   03.04.13   8  
  • 9. EAP  6  -­‐  KonfiguraBonsprofile   §  default   <domain> Java  EE  Web  Profile  +  Erweiterungen   <extensions> ... wie  z.B.:  JAX-­‐RS,  EJB  Remote  InvocaDon   </extensions> §  ha   <profiles> default  +  Clustering  FunkDonen   <profile name="ha"> §  full   <subsystem xmlns="urn:"> Java  EE  Full  Profile     ... </subsystem> +  Alle  ServerfunkDonen  ohne  HA   ... §  full-­‐ha   </profile> Full  Profile  +  Clustering   <profile name="full-ha">   <subsystem xmlns="urn:">   ...   </subsystem>  Clustering  Services  (Channel,  Cache)   </profile> werden  nur  gestartet    wenn  eine   </profiles> </domain> abhängiger  Service  Cluster-­‐ FunkBonalitäten  benöBgt.       Copyright  ©  2012  –  akquinet  AG   03.04.13   9  
  • 11. Cluster-­‐fähige  ApplikaBonen   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   Zustandsbehagete  Session  Beans     à  Session  Affinity   à  Failover   AlternaBv:  Deployment-­‐Descriptor  (  META-­‐INF/jboss-­‐ejb3.xml)   Copyright  ©  2012  –  akquinet  AG   04.04.13   11  
  • 12.   HTTP  Session-­‐ReplikaBon     ReplikaBon  der  HTTP-­‐Session  stellt  sicher,  dass  die  Sessions  der  Klienten  auf  anderen   Cluster-­‐Knoten  verfügbar  sind     <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <distributable/> </web-app>   WEB-­‐INF/web.xml   Copyright  ©  2012  –  akquinet  AG   03.04.13   12  
  • 13. JPA/Hibernate  2nd  Level  Cache   Infinispan  ist  der  Standard  2nd  Level  Cache  ab  Hibernate  3.5     AkBvierung  in  der  Persistence  Unit  (persistence.xml)     <property name="hibernate.cache.use_second_level_cache" value="true" />   full-­‐  und  default-­‐Profil     §  Local  Cache  Container  für  EnDtäten  /  CollecDons   ha-­‐Profil   §  InvalidaDon  Cache  Container  für  EnDtäten  /  CollecDons     Überschreiben  der  Default-­‐KonfiguraBon   Cache-­‐Container   <property name="hibernate.cache.infinispan.cachemanager“ value="java:jboss/infinispan/mycache"/> Cache  Region   <property name="hibernate.cache.infinispan.entity.cfg" value="entity"/> <property name="hibernate.cache.infinispan.collection.cfg" value="entity"/> <property name="hibernate.cache.infinispan.query.cfg" value="local-query"/> <property name="hibernate.cache.infinispan.timestamp.cfg" value="timestamp"/>   Copyright  ©  2012  –  akquinet  AG   03.04.13   13  
  • 14. EAP6  –  Cluster-­‐relevante  Subsysteme   JGroups     GruppenkommunikaDon   Infinispan   Verteilter  Cache   mod_cluster   HTTP  Load-­‐Balancer     EJB  Client  Library     Remote  EJB  InvocaDon             Copyright  ©  2012  –  akquinet  AG   03.04.13   14  
  • 15. JGroups   JGroups  ist  ein  Framework  für  GruppenkommunikaBon.       Eigenständiges  Projekt  unter  dem  Dach  von  JBoss   hNp://www.jgroups.org/     JGroups  wird  seit  JBoss  AS  3.x  für  die  GruppenkommunikaBon  verwendet     Eigenschagen/Fähigkeiten:   ¡  fehlertolerantes  Verschicken  von  Nachrichten  in  einer  Gruppe  von  Sendern/ Empfängern;     sowohl  Punkt-­‐zu-­‐Punkt  als  auch  Punkt-­‐zu-­‐Gruppe   ¡  Die  Gruppe  kann  dynamisch  vergrößert  und  verkleinert  werden   ¡  AutomaDsche  Erkennung  von  funkDonsunfähigen  Teilnehmern   ¡  Verschlüsselung  und  AuthenDfizierung   ¡  Unterschiedliche  Protokollpipelines  (JGroup  Stack)     Copyright  ©  2012  –  akquinet  AG   03.04.13   15  
  • 16. JGroups  -­‐  Transport   UDP   §  UDP-­‐Unicast  für  Unicast-­‐KommunikaDon   §  IP-­‐MulDcast  für  MulDcast-­‐KommunikaDon   TCP   §  TCP-­‐Unicast  für  Unicast-­‐KommunikaDon   §  mehrere  TCP-­‐Unicasts     für  MulDcast-­‐KommunikaDon   TUNNEL   §  TCP-­‐Unicast  (über  GossipRouter)  für  Unicast-­‐KommunikaDon   §  mehrere  TCP-­‐Unicasts  (Host  nur  einer,  GossipRouter  mehrere)   für  MulDcast-­‐KommunikaDon   Copyright  ©  2012  –  akquinet  AG   04.04.13   16  
  • 17. JGroups  –  JBoss  AS  7  –  KonfiguraBon   JGroups  Subsystem-­‐Module  enthält  eine  Standard-­‐KonfiguraBon  des  JGroups  Stacks     JBOSS_HOME/modules/org/jboss/as/clustering/jgroups/main/ jboss-as-clustering-jgroups-7.x.x.Final.jar à jgroups-defaults.xml   Überschreiben  der  Standard-­‐KonfiguraBon  im  JGroups  Subsystem:     <subsystem xmlns="urn:jboss:domain:jgroups:1.1" default- stack="udp"> <stack name="udp"> ... </stack> <stack name="tcp"> ... </stack> </subsystem>   Copyright  ©  2012  –  akquinet  AG   03.04.13   17  
  • 18. JGroups  -­‐  Wahl  des  KommunikaBonsprotokolls     UDP  über  IP-­‐MulBcast   §  Parameter:  MulDcastadresse   §  Gruppenmitglieder  finden  sich  ohne  weitere  KonfiguraDon  selbstständig     AlternaBv  kann  UDP  (Unicast)  oder  TCP  benutzt  werden,   dann  müssen  die  einzelnen  IP-­‐Adressen  gepflegt  werden   <protocol type="TCPPING"> <property name="initial_hosts"> 192.168.0.1[7600], 192.168.0.2[7600] </property> <property name="num_initial_members">2</property> <property name="port_range">0</property> <property name="timeout">2000</property> </protocol>       Copyright  ©  2012  –  akquinet  AG   03.04.13   18  
  • 19. Infinispan   Um  Hochverfügbarkeit  zu  unterstützen,  müssen  die  Daten  innerhalb  des  Clusters   repliziert  werden     Infinispan  wird  intern  für  die  ReplikaBon  verwendet     Eigenschagen   §  JSR-­‐107  kompaDble  Cache  Schni3stelle     §  Map   §  Schlüssel-­‐Wert  Paaren   Copyright  ©  2012  –  akquinet  AG   03.04.13   19  
  • 20. Local  -­‐  Cache  mode   Lokaler  In-­‐memory  Cache   ähnlich  wie  JBoss  Cache  und  EHCache     Hibernate  2nd  Level  Cache       Copyright  ©  2012  –  akquinet  AG   03.04.13   20  
  • 21. InvalidaBon  -­‐  Cache  mode   z.B.:  Hibernate  2nd  Level  Cache  in  einer  Cluster  Umgebung       Copyright  ©  2012  –  akquinet  AG   03.04.13   21  
  • 22. ReplicaBon  -­‐  Cache  mode   Copyright  ©  2012  –  akquinet  AG   03.04.13   22  
  • 23. DistribuBon  -­‐  Cache  mode   Konfigurierbare  Anzahl  von  Kopien  (Gute   Skalierbarkeit)   Basiert  auf  Consistent  Hash  Algorithmus     Copyright  ©  2012  –  akquinet  AG   04.04.13   23  
  • 24. L1  -­‐  Cache  mode   First  Level  Cache  um  Netzwerkaufrufe  zu  verringern       Copyright  ©  2012  –  akquinet  AG   03.04.13   24  
  • 25. Lastverteilung   Copyright  ©  2012  –  akquinet  AG   03.04.13   25  
  • 26. HTTP  Lastverteilung  -­‐  mod_cluster  vs.  mod_jk   mod_jk  benöBgt  staBsche  KonfiguraBon   §  Cluster  Knoten  hinzufügen  oder  enpernen  (worker.properDes)   §  Anwendung  hinzufügen  oder  enpernen  (uriworkermap.properDes)   mod_cluster   §  Dynamische  KonfiguraDon  der  HTTPD  worker   AdverDse  mi3els  MulDcast   §  Intelligente  Lastverteilung   Einbezug  von  Lastverteilungsmetriken     (cpu,  mem,  heap,  sessions,  receive-­‐traffic,  send-­‐traffic,  requests,  busyness)   §  Load-­‐Balancing  Groups  (früher  Domäne)         Copyright  ©  2012  –  akquinet  AG   03.04.13   26  
  • 27. Load-­‐balancing  Groups  und  ParBBonen   Copyright  ©  2012  –  akquinet  AG   04.04.13   27  
  • 28. mod_cluster  Manager   Copyright  ©  2012  –  akquinet  AG   04.04.13   28  
  • 29. EnCernte  EJB  Aufrufe     Remote  JNDI    JBoss  Remote  Naming   ¡   enpernter  Zugriff  auf  JNDI     Client  JNDI    JBoss  EJB  Client   ¡  Nur  für  EJB-­‐Aufrufe   ¡  OpDmiert             Copyright  ©  2012  –  akquinet  AG   03.04.13   29  
  • 30. HornetQ     Clustering  und  HA  
  • 31. MoBvaBon   1.   Zuverlässigkeit     bereits  empfangene  Nachrichten  werden  garanBert  zugestellt  (gehen  nicht  verloren)   2.   höherer  Nachrichtendurchsatz   3.   Lastverteilung   4.   automaBsches  Failover  bestehender  Verbindungen         1.  Bietet  bereits  JMS   2.  Auch  möglich  ohne  HA  und  Clustering   3.  Clustering   4.  HA   Copyright  ©  2012  –  akquinet  AG   04.04.13   31  
  • 32. Clustering  /  Lastverteilung   Cluster-­‐ConnecBon  zu  jedem  Nachbarn   §  empfangene  Nachrichten  werden   weitergeleitet  (RoundRobin)   §  wenn  kein  passender  Consumer:   Message-­‐RedistribuDon     §  RoundRobin  kann  opDmiert  werden:   nur  an  Knoten  mit  passendem   Consumer   Copyright  ©  2012  –  akquinet  AG   04.04.13   32  
  • 33. Hochverfügbarkeit  (HA)  mit  HornetQ   mehrere  Server  teilen  ein  Journal   §  gemeinsames  Dateisystem   §  ReplikaDon  über  Netzwerk     (ab  Version  2.3  bzw.  EAP  6.1)       Live-­‐Backup  Prinzip   §  1        Live   §  0-­‐1  Backup   §  0-­‐*  bereit  Backup  zu  werden     Backup  Server  ist  eine  JBoss  AS  7   Instanz  mit  HornetQ  Subsystem   Copyright  ©  2012  –  akquinet  AG   04.04.13   33  
  • 34. HornetQ  –  Server  Discovery   Server  Discovery  mehrere  Server   §  UDP  MulBcast  (oder    JGroups  Stack  ,  ab  2.3)   –  Broadcast-­‐Group:  Verbindungsdaten  senden   –  Discovery-­‐Group:  Verbindungsdaten  empfangen   ¡  oder  staBsch  konfigurierte  Nachbarn  (Connectors)   Copyright  ©  2012  –  akquinet  AG   04.04.13   34  
  • 35. Diskussion,  Fragen  und  Antworten   akquinet  AG     heinz.wilming@akquinet.de   @akquinet   h3p://blog.akquinet.de