IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Plateformes (Java EE, Jakarta EE, Spring) et Serveurs Discussion :

synchronisation de bases de données


Sujet :

Plateformes (Java EE, Jakarta EE, Spring) et Serveurs

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2010
    Messages : 44
    Points : 47
    Points
    47
    Par défaut synchronisation de bases de données
    Hello tout le monde,

    J'ai un problème de "clustering" à résoudre et j'aimerais avoir votre avis sur le sujet : J'ai une application qui est déployée sur deux serveurs Glassfish chacun sur un serveur physique (j'ai a disposition en tout et pour tout 2 serveurs et pas un de plus! ). Cette application doit retourner les mêmes valeurs quelque soit le serveur sur lequel les clients se connectent. Mon besoin est donc que les deux bases de données soient syncro.

    En potassant la documentation de Glassfish, j'ai cru un moment que le "clustering" tel que proposé résoudrait mon problème. Après quelques essaies et lecture à droit à gauche, je n'ai pas l'impression que ça soit le cas. Si j'ai bien compris le "clustering" Glassfish s'occupe surtout des sessions stateful et des messages JMS ?

    Si c'est bien ça, auriez-vous des pistes pour résoudre ce problème ?

  2. #2
    Membre éclairé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 200
    Points : 792
    Points
    792
    Par défaut
    En potassant la documentation de Glassfish, j'ai cru un moment que le "clustering" tel que proposé résoudrait mon problème.
    Il devrait résoudre ton problème. Car, l'une des raisons d'être du clutering est la gestion des pannes des serveurs (physiques ou applicatifs). J'ai l'impression que tu n'as pas effectué toutes les configurations nécessaires. Pour cela, essai le tuto suivant.
    Tuto sur le clustering avec Glassfish.
    A défaut du clustering côté serveur, tu peux utiliser le clustering des bases de données ou alors des solutions tels : SymmetricDS
    Ingénieur Recherche et Développement en informatique à Sopra

    Page perso developpez : http://armel-ndjobo.developpez.com/
    Suivez moi sur twitter : ndjobo

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    j'ai l'impression que tu confond deux choses:

    Le clustering de l'application (passer d'un serveur à un autre dynamiquement pour avoir ses réponses), qui concerne principalement le maintient de la session utilisateur de manière cohérente entre le serveur, ainsi que le maintient d'une même version de l'application et le maintient d'une cohérence de la pile JMS bref tout ce qui concerne le niveau applicatif / J2EE

    La centralisation des données, qui concerne simplement à avoir toutes tes instance du clusteur qui se connectent sur la même base, et pas chacun sa propre base.


    La deuxième partie, ça concerne ton code & ta config, c'est à toi d'utiliser une base centrale dans ta configuration
    Après, il y a des serveurs de base de données qui ont aussi leur système de load balancing, qui te permettrait d'équilibrer ça entre tes deux serveur physique. Mais c'est en dehors de ce qui est couvert par glassfish. Bref, glassfish s'occupe de ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    client -> serveur 1  <---- Datasource jdbc -----
                /\                                  \
                | (synchro des état J2EE)            |---> Base de données
                V                                   /
    client -> serveur 2 <---- Datasource jdbc -----

    Et ta base de données peux éventuellement s'occuper de ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ----
         \                              /------> Serveur DB1  -\  
          |-------> base de données  --|-------> Serveur DB2  -|  (Synchro des données)
          /                             \------> Serveur DB3  -/
    -----

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2010
    Messages : 44
    Points : 47
    Points
    47
    Par défaut
    Initialement, je voulais faire un truc comme ça avec Glassfish :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    client -> serveur 1  <---- Datasource jdbc -----> Base de données
                /\                                        /\
                | (synchro des état J2EE)                 | (mécanisme magique qui existe pas dans Glassfish)  
                V                                         V
    client -> serveur 2  <---- Datasource jdbc -----> Base de données
    Mais après lecture de document Oracle sur le sujet, j'en suis effectivemetn arrivé à cette conclusion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    client -> serveur 1  <---- Datasource jdbc -----
                /\                                  \
                | (synchro des état J2EE)           |---> Base de données
                V                                   /
    client -> serveur 2  <---- Datasource jdbc -----
    Je vais donc faire la syncro de mes BD avec un tool genre SymmetricDS. Merci pour les infos!

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    oracle supporte sans problème le load balancing entre plusieurs serveur, ça fait des années que j'ai ça au boulot

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Synchronisation de bases de données
    Par mfofana dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 25/02/2007, 21h29
  2. Synchronisation de bases de données
    Par loreleï85 dans le forum Alimentation
    Réponses: 7
    Dernier message: 29/01/2007, 11h48
  3. Synchronisation de bases de données
    Par loreleï85 dans le forum Outils
    Réponses: 2
    Dernier message: 18/01/2007, 17h39
  4. Synchronisation entre base de données et caractéristiques
    Par Debault dans le forum Bases de données
    Réponses: 2
    Dernier message: 03/08/2006, 23h44
  5. Synchronisation de base de données locale/distante Internet
    Par StefC30 dans le forum Développement
    Réponses: 3
    Dernier message: 25/07/2003, 14h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo