SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
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	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  

Weitere ähnliche Inhalte

Was ist angesagt?

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)GWAVA
 
Service Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache MesosService Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache MesosRalf Ernst
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenLenz Grimmer
 
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 deutschholgerschmitz2011
 
WildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-AnwendungenWildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-Anwendungengedoplan
 
Ausgewählte PL/SQL Packages (1)
Ausgewählte PL/SQL Packages (1)Ausgewählte PL/SQL Packages (1)
Ausgewählte PL/SQL Packages (1)Ulrike Schwinn
 
Java EE hochverfügbar
Java EE hochverfügbarJava EE hochverfügbar
Java EE hochverfügbargedoplan
 
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-Anwendungengedoplan
 
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)Ulrike Schwinn
 
Webanwendungen mit Apache HBase entwickeln
Webanwendungen mit Apache HBase entwickelnWebanwendungen mit Apache HBase entwickeln
Webanwendungen mit Apache HBase entwickelnRoman Roelofsen
 
Performance durch Caching
Performance durch CachingPerformance durch Caching
Performance durch CachingAOE
 
Service Mesh mit Istio und MicroProfile - eine harmonische Kombination?
Service Mesh mit Istio und MicroProfile - eine harmonische Kombination?Service Mesh mit Istio und MicroProfile - eine harmonische Kombination?
Service Mesh mit Istio und MicroProfile - eine harmonische Kombination?Michael Hofmann
 
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Jonathan Weiss
 
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 VergleichDierk Lenz
 
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üfstandGWAVA
 

Was ist angesagt? (15)

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)
 
Service Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache MesosService Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache Mesos
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
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
 
WildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-AnwendungenWildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-Anwendungen
 
Ausgewählte PL/SQL Packages (1)
Ausgewählte PL/SQL Packages (1)Ausgewählte PL/SQL Packages (1)
Ausgewählte PL/SQL Packages (1)
 
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
 
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)
 
Webanwendungen mit Apache HBase entwickeln
Webanwendungen mit Apache HBase entwickelnWebanwendungen mit Apache HBase entwickeln
Webanwendungen mit Apache HBase entwickeln
 
Performance durch Caching
Performance durch CachingPerformance durch Caching
Performance durch Caching
 
Service Mesh mit Istio und MicroProfile - eine harmonische Kombination?
Service Mesh mit Istio und MicroProfile - eine harmonische Kombination?Service Mesh mit Istio und MicroProfile - eine harmonische Kombination?
Service Mesh mit Istio und MicroProfile - eine harmonische Kombination?
 
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
 
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
 
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
 

Ähnlich wie JBoss EAP clustering

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 7hwilming
 
Caching mit Spring Boot - Pain & Gain @ JCON22
Caching mit Spring Boot - Pain & Gain @ JCON22Caching mit Spring Boot - Pain & Gain @ JCON22
Caching mit Spring Boot - Pain & Gain @ JCON22QAware GmbH
 
Citrix Fit4Cloud Reihe: Citrix XenServer in der Cloud
Citrix Fit4Cloud Reihe: Citrix XenServer in der CloudCitrix Fit4Cloud Reihe: Citrix XenServer in der Cloud
Citrix Fit4Cloud Reihe: Citrix XenServer in der CloudDigicomp Academy AG
 
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 AngrybirdAOE
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrants0enke
 
High Performance Multi-Server Magento in der Cloud
High Performance Multi-Server Magento in der CloudHigh Performance Multi-Server Magento in der Cloud
High Performance Multi-Server Magento in der CloudAOE
 
LinuxTag 2008 - Virtuelle Cold-Standby Server mit Linux
LinuxTag 2008 - Virtuelle Cold-Standby Server mit LinuxLinuxTag 2008 - Virtuelle Cold-Standby Server mit Linux
LinuxTag 2008 - Virtuelle Cold-Standby Server mit LinuxSchlomo Schapiro
 
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 ÜberblickKarin Patenge
 
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10Ralf Sigmund
 
Hazelcast bei der SBB (jug.ch)
Hazelcast bei der SBB (jug.ch)Hazelcast bei der SBB (jug.ch)
Hazelcast bei der SBB (jug.ch)Korhan Gülseven
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenLenz Grimmer
 
Blueprints bei E-Commerce Workloads mit AWS
Blueprints bei E-Commerce Workloads mit AWSBlueprints bei E-Commerce Workloads mit AWS
Blueprints bei E-Commerce Workloads mit AWSroot360 GmbH
 
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-administratorenICS User Group
 
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 LibertyMichael Hofmann
 
MT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG
 
Caching - Hintergründe, Patterns und Best Practices
Caching - Hintergründe, Patterns und Best PracticesCaching - Hintergründe, Patterns und Best Practices
Caching - Hintergründe, Patterns und Best PracticesMichael Plöd
 
Cloud-native Applikationen
Cloud-native ApplikationenCloud-native Applikationen
Cloud-native ApplikationenQAware GmbH
 
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die CloudSQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die CloudAWS Germany
 

Ähnlich wie JBoss EAP clustering (20)

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
 
Caching mit Spring Boot - Pain & Gain @ JCON22
Caching mit Spring Boot - Pain & Gain @ JCON22Caching mit Spring Boot - Pain & Gain @ JCON22
Caching mit Spring Boot - Pain & Gain @ JCON22
 
Citrix Fit4Cloud Reihe: Citrix XenServer in der Cloud
Citrix Fit4Cloud Reihe: Citrix XenServer in der CloudCitrix Fit4Cloud Reihe: Citrix XenServer in der Cloud
Citrix Fit4Cloud Reihe: Citrix XenServer in der Cloud
 
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
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 
High Performance Multi-Server Magento in der Cloud
High Performance Multi-Server Magento in der CloudHigh Performance Multi-Server Magento in der Cloud
High Performance Multi-Server Magento in der Cloud
 
LinuxTag 2008 - Virtuelle Cold-Standby Server mit Linux
LinuxTag 2008 - Virtuelle Cold-Standby Server mit LinuxLinuxTag 2008 - Virtuelle Cold-Standby Server mit Linux
LinuxTag 2008 - Virtuelle Cold-Standby Server mit Linux
 
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
 
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
 
Hazelcast bei der SBB (jug.ch)
Hazelcast bei der SBB (jug.ch)Hazelcast bei der SBB (jug.ch)
Hazelcast bei der SBB (jug.ch)
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
Hazelcast
HazelcastHazelcast
Hazelcast
 
Blueprints bei E-Commerce Workloads mit AWS
Blueprints bei E-Commerce Workloads mit AWSBlueprints bei E-Commerce Workloads mit AWS
Blueprints bei E-Commerce Workloads mit AWS
 
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
 
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
 
Concurrency in java
Concurrency in javaConcurrency in java
Concurrency in java
 
MT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG: Sesam oeffne Dich
MT AG: Sesam oeffne Dich
 
Caching - Hintergründe, Patterns und Best Practices
Caching - Hintergründe, Patterns und Best PracticesCaching - Hintergründe, Patterns und Best Practices
Caching - Hintergründe, Patterns und Best Practices
 
Cloud-native Applikationen
Cloud-native ApplikationenCloud-native Applikationen
Cloud-native Applikationen
 
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die CloudSQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
 

Mehr von hwilming

Introduction Machine Learning - Microsoft
Introduction Machine Learning - MicrosoftIntroduction Machine Learning - Microsoft
Introduction Machine Learning - Microsofthwilming
 
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 learninghwilming
 
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 2014hwilming
 
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 / JBosshwilming
 
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 Technologieshwilming
 
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 7hwilming
 
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 SEhwilming
 
Optimierung von JPA-­Anwendungen
Optimierung von JPA-­AnwendungenOptimierung von JPA-­Anwendungen
Optimierung von JPA-­Anwendungenhwilming
 
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 2012hwilming
 
Aerogear Java User Group Presentation
Aerogear Java User Group PresentationAerogear Java User Group Presentation
Aerogear Java User Group Presentationhwilming
 
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 2012hwilming
 
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 EEhwilming
 
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 EEhwilming
 

Mehr von hwilming (13)

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 - 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 EAP clustering

  • 1. Hochverfügbarkeit  mit  der                                                                                                              Enterprise  Applica9on     Pla;orm       Heinz  Wilming     heinz.wilming@akquinet.de     akquinet  AG  
  • 2. Eigenscha:en  Java  Enterprise  Edi?on     zuverlässig   sicher  skalierbar   wartbar  
  • 3. EAP6  !=  EAP5  +1    
  • 4. 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)  
  • 5. Lastverteilung  ohne  Session   Replika?on         Skalierung  
  • 7. mod_cluster   AJP  Request  MCMP   Worker,  Context,  Load-­‐Metrics   HTTP  /  HTTPS  
  • 8. 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)    
  • 9. 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)  
  • 13. 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)  
  • 14. 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  
  • 20. 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  
  • 23. L1  -­‐  Cache  mode  
  • 26. 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  
  • 27. 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  
  • 29. HornetQ  -­‐  Failover   •  Ab  JBoss  EAP  6.1  (HornetQ  2.3)  -­‐  In-­‐Memory   Message  Replica?on  
  • 30. 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  
  • 31. akquinet  AG  –  Standort  Berlin   JAVA   Beratung  und   Coaching   Individuelle   Lösungen   Betriebsführung   Schulungen   Produktberatung