Your SlideShare is downloading. ×
0
10 Clustering
10 Clustering
10 Clustering
10 Clustering
10 Clustering
10 Clustering
10 Clustering
10 Clustering
10 Clustering
10 Clustering
10 Clustering
10 Clustering
10 Clustering
10 Clustering
10 Clustering
10 Clustering
10 Clustering
10 Clustering
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

10 Clustering

880

Published on

JOnAS 5.1: Clustering

JOnAS 5.1: Clustering

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
880
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. JOnAS Day 5.1 Clustering
  • 2. Solution complète de clustering Répartition de charge & bascule sur échec Application Web avec mod_jk/mod_proxy Connecteur http pour md_proxy Application Ejb avec CMIv2 Réplication Application Web avec tomcat Tous les noeuds (DeltaManager) Java EE cluster Par paire (BackupManager) Application Ejb avec le service HA Stateful EJB2 (EJB3 à venir) Administration JASMINe tooling 2 ©Bull, 2009 JOnAS Day 5.1
  • 3. Ferme Web Répartiteur de niveau TCP Apache 2.2 / mod_jk Mise en œuvre de modules éprouvés Sert les pages statiques Gère l’affinité de session Avantages: Quelques serveurs Apache suffisent pour beaucoup de serveurs JOnAS. 3 ©Bull, 2009 JOnAS Day 5.1
  • 4. Ferme EJB Séparation présentation,services métier Adapté au passage à l’échelle Meilleur usage des ressources système Meilleur controle des contraintes sur backends ( ex : datasource) 4 ©Bull, 2009 JOnAS Day 5.1
  • 5. Clustering EJB HA JNDI et réplication des annuaires & fail-over sur lookup() Load-balancing & fail-over EJB avec les proxy CMI Home EJB2.1 (SSB, SFSB, EB) Remote EJB2.1 (SSB) EJB3 (SSB,SFSB) HA EJB avec le service HA EJB2.1 (SFSB) 5 ©Bull, 2009 JOnAS Day 5.1
  • 6. Support des EJB2 & EJB3 Integration avec les conteneurs EJB2 et EJB3 Proxies, plus de classes “_cmi” dans le classpath du client HA EJB avec le service HA EJB2.1 (SFSB) 6 ©Bull, 2009 JOnAS Day 5.1
  • 7. Support multi-protocoles CMIv2 indépendant de Carol et du protocole sous- jacent appli Vue cluster = registre CMI carol ClusteredObject Liste des url de registre RMI contenant l'objet cmi Synchronisée dans le cluster avec Jgroups 2.6 (support ipv6) jrmp iiop irmi Supporte les protocoles jrmp, iiop, irmi JGroups 7 ©Bull, 2009 JOnAS Day 5.1
  • 8. Conception orientée performance Séparation flux de service/ flux de contrôle Allocation d'un thread dédié pour le flux de contrôle côté client Gestion pool de stubs cote client Control flow Service flow Stubs pool 8 ©Bull, 2009 JOnAS Day 5.1
  • 9. Logique cluster dynamique Politique de répartition gérée coté serveur Simple POJO Politiques prédéfinies : round robin, first available, ha singleton, random Stratégies : local preference, load factor, … Possibilité de personnaliser la politique Mise à jour à chaud depuis la console jonasAdmin Cluster logic V1 V2 Ctrl flow Ma ste r no de Update J1 Cluster logic 9 ©Bull, 2009 JOnAS Day 5.1
  • 10. Arrêt en douceur d'un membre du cluster Arrêt programmé/Opération de maintenance Arrêt sans interruption de service Désactive le serveur : les nouvelles connexions sont refusées, seules les connexions existantes sont servies Via la fonctionnalité 'blacklist' 10 ©Bull, 2009 JOnAS Day 5.1
  • 11. Mode cluster transparent pour les clients Un client EJB n'a pas à être “conscient” du mode cluster L'activation du service CMI s'effectue côté serveur La configuration par défaut du client suffit pour un fonctionnement en mode nominal nécessite une liste d'URLs pour un support de la reprise sur échec 11 ©Bull, 2009 JOnAS Day 5.1
  • 12. API réduite & stable pour les clients lourds Indépendante de la version JOnAS (~50ko) Les classes sont téléchargées depuis le serveur (service smartclient) 3. API download 4. Lookup processing 1.First lookup APP API CMI SF 2. Socket connection Cluster Client JVM 12 ©Bull, 2009 JOnAS Day 5.1
  • 13. Configuration tier web/ejb - mode serveur (défaut) 13 ©Bull, 2009 JOnAS Day 5.1
  • 14. Configuration tier web/ejb - mode client 14 ©Bull, 2009 JOnAS Day 5.1
  • 15. Configuration cluster d'un EJB3 Annotations spécifiques package org.ow2.easybeans.examples.cluster; import javax.ejb.Remote; import javax.ejb.Stateless; import org.ow2.cmi.annotation.Cluster; import org.ow2.cmi.annotation.Pool; import org.ow2.cmi.annotation.Policy; import org.ow2.cmi.lb.policy.RoundRobin; import org.ow2.cmi.lb.strategy.LocalPreference; import org.ow2.easybeans.api.bean.EasyBeansBean; @Stateless @Remote(ClusterRemote.class) @Cluster(name="test_cluster",pool=@Pool(max=10, maxWaiters=15, timeout=2000)) @Policy(RoundRobin.class) @Strategy(LocalPreference.class) public class ClusterBeanAN implements ClusterRemote { .... } 15 ©Bull, 2009 JOnAS Day 5.1
  • 16. Configuration cluster d'un EJB3 Descripteur de déploiement spécifique Surcharge les éventuelles annotations easybeans.xml, élément 'cluster:cluster' <easybeans xmlns="http://org.ow2.easybeans.deployment.ejb" xmlns:cluster="http://org.ow2.cmi.info.mapping"> <ejb> <session> <ejb-name>clusterXMLBean</ejb-name> <cluster:cluster name="easybeans-cmi"> <cluster:policy>org.ow2.cmi.lb.policy.FirstAvailable</cluster:policy> <cluster:strategy>org.ow2.cmi.lb.strategy.LocalPreference</cluster:strategy> <pool> <max-size>10</max-size> <max-waiters>15</max-waiters> <timeout>2000</timeout> </pool> </cluster:cluster> </session> </ejb> </easybeans> 16 ©Bull, 2009 JOnAS Day 5.1
  • 17. democluste r JAR Architecture démo democluste r CLIENT democluste r JAR node 1 JMX Remote master laptop 17 ©Bull, 2009 JOnAS Day 5.1

×