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

Java Discussion :

Question d'architecture logicielle.


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 5
    Par défaut Question d'architecture logicielle.
    Bonjour/Bonsoir à tous,

    je suis en train de développer un jeu en JavaFX qui utilisera le réseau pour stocker/vérifier etc... certaine actions des joueurs. j'utilise pour cela une architecture classique client/serveur avec Socket TCP. Disposant d'un petit VPS chez OVH et voulant rester dans le low cost, j'essaie au maximum d"épargner le serveur ce qui signifie que la partie serveur est en Pool de Thread (je lis une requête, la traite, répond, ferme la Socket). D'un point de vue performance, est-ce mieux d'avoir un serveur (processus) qui traite TOUTE les requête avec un pool de 45 thread ou de split le travail entre 3 serveurs (processus) qui s'occuperai par exemple: 1-Login, 2-Game, 3-Persistance ayant chacun un pool de 15 thread ?

    merci d'avance

    Mitolius

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Si tes trois applications serveurs vont tourner sur la même machine, je ne vois pas trop l'intérêt qu'il y aurait à découper cela.

    De toute manière ils se partageraient les mêmes ressources (CPU, RAM).
    La seule différence c'est que tu aurais une limite pour chaque "action" (15 "login", 15 "game" et 15 "persistance") au lieu d'avoir un limite globale (45 "login", "game" ou "persistance").
    Mais chaque application serveur aura également son propre espace mémoire (donc + gourmand en RAM, et sûrement une nécessité de partager des infos entre les serveurs).

    Maintenant si tu comptes dispatcher cela sur 3 serveurs physiques différents je comprendrais. Mais sur le même serveur j'émets des doutes.

    Tu fais quoi comme traitements ? C'est si lourd que cela ?


    a++

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Maintenant si tu comptes dispatcher cela sur 3 serveurs physiques différents je comprendrais. Mais sur le même serveur j'émets des doutes.
    D'un point de vue "physique" oui, mais ne penses-tu pas que pour les échanges entre les serveurs, le coût (en temps, cpu, mémoire) via RMI (ou autre) ralentira l'application ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    D'un point de vue "physique" oui, mais ne penses-tu pas que pour les échanges entre les serveurs, le coût (en temps, cpu, mémoire) via RMI (ou autre) ralentira l'application ?
    Oui bien sûr si tu dispatches les serveurs il y a un coût supplémentaire à prendre en compte, que ce soit en temps, CPU, mémoire...

    Il est alors préférable d'avoir un protocole "stateless" (sans session), ce qui impliquera plus de traitement à chaque fois.
    Ou alors de mettre en place un mécanisme de partage des sessions et des données...


    Bref c'est pas forcément le genre de truc adapté pour le "low cost".


    a++

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 5
    Par défaut
    Merci de vos réponse, ce serai un fonctionnement stateless en effet et les joueur ne serai pas connecté tout le temps, juste le temps du login, ensuite il envoie une requête pour persister l’état du jeu par exemple. et le serveur n'aurai aucun besoin de parler a un client sans avoir reçu une requête ! Donc je vois a part mettre une limite par "type" (login, persistance, etc...) cela n'apporte aucun up de performance sur la JVM. Merci de vos réponse

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/06/2009, 21h54
  2. [Architecture] Question d'architecture
    Par bourbaki2003 dans le forum Général Java
    Réponses: 3
    Dernier message: 11/07/2006, 10h38
  3. [JPanel] [GUI] question d'architecture
    Par _KB_ dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 15/06/2006, 15h10
  4. Un concept original d'architecture logicielle ?
    Par jobigoud dans le forum Architecture
    Réponses: 4
    Dernier message: 28/01/2006, 15h11
  5. Qu'est ce qu'une architecture logicielle?
    Par car dans le forum Architecture
    Réponses: 1
    Dernier message: 11/11/2004, 17h23

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