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

Concurrence et multi-thread Java Discussion :

RMI & threading ou autre moyen de comm ?


Sujet :

Concurrence et multi-thread Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Par défaut RMI & threading ou autre moyen de comm ?
    Bonjour à tous,

    Je développe une application serveur-client avec un exécutable tournant en continue (sorte de daemon) sur le serveur et un client distant permettant d'exécuter des fonctionnalités disponibles sur le serveur.

    J'ai pensé au RMI pour la communication. L'optique du dev' est de permettre l'utilisation d'une multitude de clients pour le serveur. Est-ce que le RMI permet de tenir la charge en supposant qu'il puisse y avoir 10 000 clients (par exemple) exécutant des méthodes sur le serveur ? (peu importe le traitement du serveur... écrire dans un fichier par exemple).

    Le multi-threading peut-il être éventuellement utilisé ?

    Je signale que je débute en RMI, j'étais plus remoting .NET !!!


  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Par défaut
    Bon alors... apparement d'après mes recherches il semblerait que le JRE gère automatiquement un pool de thread à chaque utilisation d'un objet remote (comme en .NET donc) mais je ne sais pas trop si avec un grand nombre de connexions le RMI tient la charge. Est-ce qu'il y a des restrictions matérielles ? (comme par exemple : CPU important (pour le multi-threading), bande passante large, RAM...).

    Autre question, est-ce que le RMI est asynchrone ?

    Une réponse serait la bienvenue !!! (le RMI n'a pas l'air d'être un sujet passionnant )

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Le RMI sérialize les réponse aux client, et vis-versa désérialize les question. Le principe du RMI, c'est un protocol qui permet de partager un objet entre le client et le serveur. Le problème,c'est que tout paramètre d'appel à une méthode ou résultat d'appel est sérializé sur la ligne TCP/IP et réceptionné pour être désérializer à l'autre bout. Si t'as 10.000 client en simultané, tu va souffrir! Ca veux dire déjà 10.000 objet (minimum) en partage sur la ligne (les objets RMI de contact). Probablement plus, a moins que tu ne partage qu'une simple facade

    Je te conseillerais d'utiliser d'autres chose qui tiennent mieux la charge et qui ne nécessitent pas un canal ouvert en permanence. Plutot un truc qui fait "ouverture du canal, question, réponse, fermeture", tu évite comme çà le goulot réseau et la maintenance trop forte. Enfin tout dépend de ton application, mais si tu veux du massif en RMI. Tu dois faire extrèmement gaffe à ce que t'envoie comme réponse (j'ai travaillé pour une boite qui envoyait à un même client, trois à 4 fois par minutes une liste complète de code postaux avec villes, çà saturait pour un seul client une ligne à 10Mbits). Donc quant tu fait tes objet RMI, fait gaffe à ton interface, qu'elle soit légère dans ses réponses/paramètres

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Par défaut
    Je vais probablement laisser tomber la piste du RMI alors...

    Est-ce que les Web Services permettraient de résoudre ce problème ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Par défaut
    up ?

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 548
    Par défaut
    Essaie déjà de faire un hello world en RMI et de lancer 10000 clients si ça marche tu pourras envisager de l'utiliser.
    Sinon les web services tu peux oublier, vu le volume de données que ça génère (tout est en XML donc c'est assez verbeux), ça coutera trop "cher" au niveau performances.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 132
    Par défaut
    Si tu veux gérer une multitute de clients tu devrais regarder du coté des java.nio
    ils sont là pour ça.

Discussions similaires

  1. Thread ou autre méthode ?
    Par Vodkha dans le forum Débuter
    Réponses: 2
    Dernier message: 24/04/2008, 11h04
  2. Réponses: 2
    Dernier message: 14/04/2008, 13h27
  3. bot IRC: posix threads et autres remarques
    Par keikoz dans le forum Réseau
    Réponses: 6
    Dernier message: 19/11/2006, 00h52
  4. Un autre moyen que les popups ?
    Par bdaboah dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/03/2005, 10h48
  5. segment memoire partagee, thread, ou autre?
    Par Pouic dans le forum POSIX
    Réponses: 9
    Dernier message: 26/10/2004, 18h54

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