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

Langages de programmation Discussion :

Questions conception serveur


Sujet :

Langages de programmation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 39
    Par défaut Questions conception serveur
    Bonjour à tous,

    En fait, je me pose simplement deux question à propos de la conception d'une composante serveur multi-client (sous linux).
    -Ce type de serveur est-il généralement Threader ou Forker? (Exemple Apache?)
    -Quand on veut réaliser un serveur "événementiel" en POO, existe t'il une solution plus propre qu'un switch?

    Merci de vos réponses

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 762
    Par défaut
    Bonjour,

    -Ce type de serveur est-il généralement Threader ou Forker? (Exemple Apache?)
    Pour reprendre votre terminologie, apache v1 était "forker" alors qu'apache v2 permet d'utiliser des threads. Choisir un modèle plutôt qu'un autre dépendra du nombre de clients, des données à partager et de critères de coûts.
    Par exemple: si un serveur doit gérer un petit nombre de clients et qu'il n'y a pas beaucoup de données mémoire partagées, il sera plus simple de "forker".
    Si vous devez construire un serveur qui soit capable de gérer "beaucoup" de clients, il sera préférable de choisir un nombre de threads=M à peine supérieur au nombre de processeurs et de faire gérer les N clients par ces M threads (N >> M).


    -Quand on veut réaliser un serveur "événementiel" en POO, existe t'il une solution plus propre qu'un switch?
    Précisez ce que vous entendez par "serveur événementiel"!

    En gros, du point de vue d'un client, un serveur répond aux commandes que lui envoient les clients et les clients sont gérés indépendamment les uns des autres (enfin c'est l'illusion que cela doit donner).

    La suite des commandes autorisées se traduit généralement par un automate à état fini (AEF) qui autorise (ou pas) les transitions en fonction des commandes précédemment reçues (ou de leurs résultats).

    Le codage de l'AEF peut se faire avec des switchs, des tables ou avec le pattern "state" - pour rester dans la POO.

    Mais pour multiplexer les requêtes des différents clients dans le code de l'AEF, il va falloir matérialiser la connexion avec au moins: la socket, l'état,... et un multiplexeur qui pourra s'inspirer des patterns POSA: reactor ou proactor.

    -W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par carnifex Voir le message
    Bonjour à tous,

    En fait, je me pose simplement deux question à propos de la conception d'une composante serveur multi-client (sous linux).
    -Ce type de serveur est-il généralement Threader ou Forker? (Exemple Apache?)
    -Quand on veut réaliser un serveur "événementiel" en POO, existe t'il une solution plus propre qu'un switch?

    Merci de vos réponses
    Sous unixoide, en général c'est plutôt "forker".

    Maintenant, il y a les remarques de wiztricks, plus la discussion multi-threading et multi-core

Discussions similaires

  1. Difference dates et questions conception
    Par lolo_bob2 dans le forum Modélisation
    Réponses: 2
    Dernier message: 23/11/2006, 13h23
  2. question client serveur
    Par zais_ethael dans le forum Débuter
    Réponses: 4
    Dernier message: 25/07/2006, 13h39
  3. conception serveur multithread
    Par nivose110 dans le forum Réseau
    Réponses: 12
    Dernier message: 17/07/2006, 16h43
  4. [Conception] Serveur distant
    Par keil dans le forum Général Java
    Réponses: 8
    Dernier message: 26/02/2006, 09h27
  5. Question client-serveur socket
    Par Lex99 dans le forum Développement
    Réponses: 3
    Dernier message: 07/02/2006, 09h01

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