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

NodeJS Discussion :

Traitement long côté serveur


Sujet :

NodeJS

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    etudiant info
    Inscrit en
    Mars 2016
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : etudiant info

    Informations forums :
    Inscription : Mars 2016
    Messages : 32
    Points : 30
    Points
    30
    Par défaut Traitement long côté serveur
    Bonjour,

    Je suis actuellement sur le développement d'un site en NodeJS. Les fonctionnalités de l'application impliquent que les requêtes venant du client provoquent de longs traitements côté serveur. Ces traitements produisent des résultats qui sont renvoyés au client.
    Afin d'éviter que l'utilisateur se lasse de l'attente ou que le navigateur plante en indiquant qu'il n'a pas reçu de réponse, je pensais rendre une vue au client avant le début du traitement côté serveur. Des requêtes fetch seraient ensuite lancées au serveur toutes les deux secondes pour vérifier que le traitement est fini. Je poste ce message pour savoir ce que vous pensez de l'idée et si vous en avez d'autres pour la mettre en place (par exemple, où stocker le résultat côté serveur ? Dans une variable de session ?).

  2. #2
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Quelle est ta stack exacte et quelle est ton architecture ?

    Je ne comprends ce que c'est qu'un "site en Node.js". Tu sous-entends que ton Node va générer le html renvoyé au client ? Vous n'avez pas un frontend (Vue, React, Angular, whatever) séparé ?

    Qu'entends-tu par "longs traitements côté serveur" ? S'agit d'appels à une base de données ? Ou de calculs réalisés par ton appli node ?
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    etudiant info
    Inscrit en
    Mars 2016
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : etudiant info

    Informations forums :
    Inscription : Mars 2016
    Messages : 32
    Points : 30
    Points
    30
    Par défaut
    Bonsoir Marco46,

    Oui c'est ça j'ai un serveur Node qui génère le code client.
    Non il ne s'agit pas d'appels à une base de données mais de traitement NodeJS.

  4. #4
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Node.js est très efficace pour gérer un très grand nombre de requêtes qui entrainent de tous petits traitements.

    C'est un mauvais choix dès lors qu'il y a beaucoup de traitements à effectuer côté serveur (calcul CPU). De plus, générer le front côté serveur, outre que cette architecture est obsolète, c'est aussi du temps de calcul CPU côté backend.

    Du coup, compte tenu de ton architecture et de ce que tu dois faire, Node.js est probablement le pire choix que tu puisses faire.

    Comme node n'a qu'un seul thread d'exécution (l'event loop), pendant qu'il va calculer un résultat ou un front pour un client donné il ne pourra rien faire du tout pour les autres.

    Donc 2 solutions, changer l'architecture ou changer de techno. Pour info en terme d'ergo de nos jours un temps d'attente supérieur à 2 secondes est (perçu comme) inacceptable pour l'utilisateur.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/05/2012, 13h40
  2. [VBA-E] Temps de traitement long
    Par argoet dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 24/05/2006, 09h58
  3. [Oracle8i]Performances, Commit, traitement long
    Par Drizzt [Drone38] dans le forum Oracle
    Réponses: 4
    Dernier message: 17/05/2006, 08h57
  4. [Architecture] Traitement long
    Par metalpetsFR dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 11
    Dernier message: 28/04/2006, 09h10
  5. Fermeture avec traitement long dans le onActivate
    Par benj63 dans le forum C++Builder
    Réponses: 14
    Dernier message: 20/03/2006, 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