Le passage à l échelle de serveur J2EE : le cas des EJB

Documents pareils
Passage à l échelle de serveur J2EE : le cas des EJB

Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Introduction aux applications réparties

Mise en œuvre des serveurs d application

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

JOnAS 5. Serveur d application d

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

JOnAS Day 5.1. Clustering

Introduction au Déploiement

Formation en Logiciels Libres. Fiche d inscription

Architectures n-tiers Intergiciels à objets et services web

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

10. Base de données et Web. OlivierCuré

Compte Rendu d intégration d application

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Environnements de Développement

Architectures en couches pour applications web Rappel : Architecture en couches

Système d administration autonome adaptable: application au Cloud

Patrons de Conception (Design Patterns)

2 Chapitre 1 Introduction

Des solutions J2EE open source professionnelles adaptées à votre système d information d entreprise

Refonte front-office / back-office - Architecture & Conception -

Hébergement de sites Web

Introduction à la plateforme J2EE

Robin Favre Fabien Touvat. Polytech Grenoble RICM 3 ème Année Vendredi 21 Novembre 2008 Etude d Approfondissement Réseau

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Java pour le Web. Cours Java - F. Michel

Gestion d Epargne de Crédit & Comptabilité

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique

Java Naming and Directory Interface

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

Algorithmique et systèmes répartis

PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau

Projet gestion d'objets dupliqués

Conception des systèmes répartis

ORACLE 10g Découvrez les nouveautés. Jeudi 17 Mars Séminaire DELL/INTEL/ORACLE

1. Introduction à la distribution des traitements et des données

Cours en ligne Développement Java pour le web

SITE WEB E-COMMERCE ET VENTE A DISTANCE

WEA Un Gérant d'objets Persistants pour des environnements distribués

Introduction à LDAP et à Active Directory Étude de cas... 37

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Haute-disponibilité et bases de données

Administration d'infrastructures logicielles avec Jade

Tests de montée en charge & Haute disponibilité

«clustering» et «load balancing» avec Zope et ZEO

Gestion répartie de données - 1

Cours Bases de données

Projet. But: consultation en temps réel d événements (cours de bourse, trafic d envoi SMS ) sur des téléphones portables. Serveur de diffusion

Présentation du module Base de données spatio-temporelles

Sommaire. La haute-disponibilité. L'offre OpenSource. Les systèmes tiers. MySQL

JOnAS 5 Enterprise OSGi javaee compliant

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP

Caches web. Olivier Aubert 1/35

Auto-évaluation Aperçu de l architecture Java EE

Oracle Maximum Availability Architecture

Serveur d'application à la juste taille

Développement des Systèmes d Information

NEXTDB Implémentation d un SGBD Open Source

Catalogue des Formations Techniques

//////////////////////////////////////////////////////////////////// Administration bases de données

Evaluation Idéopass Cahier d analyse technique

Module BDR Master d Informatique (SAR)

Bases de données Cours 1 : Généralités sur les bases de données

Groupe Eyrolles, 2004 ISBN :

Application web de gestion de comptes en banques

MEAD : temps réel et tolérance aux pannes pour CORBA

Windows Server 2012 Les bases indispensables pour administrer et configurer votre serveur

DNS ( DOMAIN NAME SYSTEM)

JavaServer Pages (JSP)

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie "étude de cas architecture et systèmes"

PLATEFORME DE SUPERVISION

Introduction aux SGBDR

Présentation Alfresco

JOnAS Day 5.1. Outils de développements

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Structure logique. Active Directory. Forêts Arborescences Domaines Unités d'organisation

SECURIDAY 2012 Pro Edition

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

Manuel du logiciel PrestaTest.

Software Engineering and Middleware A Roadmap

Documentation de la plate forme JOnAS

Disponibilité et fiabilité des services et des systèmes

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Hibernate vs. le Cloud Computing

Présentation Infrastructure DATACENTRE

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

IBM DB2 Alphablox. d administration GC

Chapitre 1 Windows Server

Bases de données documentaires et distribuées Cours NFE04

Windows Internet Name Service (WINS)

IDEC. Windows Server. Installation, configuration, gestion et dépannage

EXA1415 : Annotations

Transcription:

Le passage à l échelle de serveur J2EE : le cas des EJB Sylvain Sicard, Noël De Palma, Daniel Hagimont CFSE 4 5-8 Avril 2005 LSR 1

Plan de la présentation 1. Architecture de serveur J2EE en grappe 2. Problématique & motivations 3. Politique de réplication 4. Politique de partitionnement 5. Politique hybride 6. Conclusion et perspectives 2

Architecture J2EE Tier Web Tier Présentation Tier métier Données de l applicationl Page HTML Servlet EJB Apache Tomcat JOnAS MySQL Génération de contenu dynamique 3

Serveur J2EE en grappe Passage à l échelle des serveurs J2EE Réplication de serveurs Gain en capacité de calcul Tolérance aux pannes Cohérence en cas de pannes (transactions) Disponibilité (redondance) Apache Tomcat JonAS Mysql JK CMI C-JDBC 4

Problématique Réplication de serveurs d EJB : CMI Réplication "banalisée" des serveurs : clonage à l identique Intergiciel Application Répartition Round-Robin des requêtes Cache désactivd sactivé Car une écriture DB peut rendre invalide le cache Tomcat Jonas1 A écriture CMI A Jonas2 A invalide Base de Données 5

Motivations Spécialisation de serveur Serveurs dédid diés àunsous-ensemble de Beans Répartitions des requêtes en fonction des Beans auxquels on accède Possibilité d utiliser un cache Jonas1 Jonas2 A D B E C F Application J2EE Partitionnement de l application 6

Performances de CMI RMI MySQL Client Apache Tomcat JonAS C-Jdbc RMI Cache activé CMI Client JOnAS Apache Tomcat C-Jdbc MySQL CMI Cache désactivd sactivé 7

Banc d essai : RUBiS Rice University Bidding System Implémentation d un site Web de e-commerce Modélisé d après www.ebay.com Emulateur de clients Monitoring du serveur J2EE Application J2EE (Façade Session Bean ) Gestion de la persistance via le conteneur (CMP) 8

Performances de CMI Débit du serveur J2EE en nombre de requêtes par seconde en fonction du nombre de clients Un JOnAS - RMI Deux JOnAS - CMI 30 nombre de requêtes par seconde 25 20 15 10 5 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 nombre de clients 9

Équilibrage avec placement (1/4) BUT : Redondance de JOnAS avec cache Les Beans sont affectés à un serveur unique. Pas de duplication de Beans. Permet l utilisation d un cache. Jonas A, B C, D E, F 10

Équilibrage avec placement (2/4) Placement statique Les Beans sont statiquement affectés à un serveur unique. Communication entre objet distant : RMI Jonas Tomcat? Routage des requêtes A, B C, D E, F 11

Équilibrage avec placement (3/4) Routage des requêtes Localisation du Bean : information dans le Stub (talon client du modèle client-serveur) Routage implicite via les Stubs JNDI Tomcat C? C Jonas 3 A Jonas 1 B Jonas 2 C Jonas 3 A Jonas 1 B Jonas 2 C.Do(); C Jonas 3 12

Équilibrage avec placement (4/4) Débit du serveur J2EE en nombre de requêtes par seconde en fonction du nombre de clients Deux JOnAS - CMI Deux JOnAS - RMI - Partition 25 nombre de requêtes par seconde 20 15 10 5 0 10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 nombre de clients 13

Fonctionnement détaillé de CMI JNDI JOnAS 1 Servlet 1 Localisation de La factory 2 Localisation d un Bean Factory 1 Factory 2 Bean 3 Utilisation du Bean Bean Factory : Usine à Bean -Permet leur création -Permet de les retrouver JNDI Factory 1 Factory 2 Bean Bean JOnAS 2 14

Fonctionnement détaillé du partitionnement 1 Localisation de La factory JNDI JOnAS 1 Servlet 2 Localisation d un Bean Factory 2 3 Utilisation du Bean Bean Factory 1 Bean JOnAS 2 15

Partitionnement & réplication de JNDI (1/2) Servlet 2 Localisation d un Bean 3 Utilisation du Bean Factory 2 JOnAS 1 Bean 1 Localisation de La factory JNDI JNDI JNDI Factory 1 Bean JOnAS 2 16

Partitionnement & réplication de JNDI (2/2) 25 Débit du serveur J2EE en nombre de requêtes par seconde en fonction du nombre de clients Deux JOnAS CMI Deux JOnAS - RMI - partition Deux JOnAS - RMI - partition - JNDI répliqué requêtes par seconde 20 15 10 5 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 Nombre de clients 180 190 200 210 220 230 240 250 260 270 280 290 300 17

Politique hybride (1/2) Principe de la solution Réplication des EJBs accédés en lecture seule Partition des EJBs accédés en lecture/écriture criture Factory 1 Factory 2 Factory de Bean accédés en écriture Servlet JNDI JNDI JNDI Factory 4 JOnAS 1 Factory 3 Factory de Bean accédés en lecture Factory 4 JOnAS 2 18

Politique hybride (2/2) Débit du serveur J2EE en nombre de requêtes par seconde en fonction du nombre de clients Deux JOnAS - CMI Deux JOnAS - Hybride 35 requêtes par seconde 30 25 20 15 10 5 0 10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 Nombre de clients 19

Conclusion La réplication du tier métier pose le problème de la cohérence des caches locaux, d où la désactivation Les méthodes de partitionnement des données manipulées en écriture permettent de lever ce problème Une évaluation expérimentale de cette approche montre un gain significatif des performances Perspectives Comparaison à un cache répartis Partitionnement par bean (et pas par factory) Migration des Beans 20