Comment construisez-vous le serveur Web dynamic node.js? (mise à niveau du serveur sans préavis)

Je sais que le serveur node.js met en cache les modules. Ainsi, après le démarrage du serveur, tous les fichiers sont “compilés” et toutes les modifications apscopes au code peuvent prendre effet après le redémarrage du serveur.

Mais s’il y a toujours des centaines d’utilisateurs en ligne sur le site Web – comment faites-vous ces changements (redémarrer le serveur) d’une manière que vos centaines de clients ne remarqueront aucun problème, aucun temps d’arrêt?

S’il vous plaît, donnez-moi un guide et (vos propres) exemples sur (je suppose) l’évolutivité, l’équilibrage de la charge sur les serveurs, etc.

    Le meilleur moyen de garantir un temps de disponibilité continu avec Node.JS est d’avoir deux serveurs Node en cours d’exécution et de les utiliser avec des fournisseurs nginx et en amont. De cette façon, vous pouvez redémarrer l’un pendant que l’autre prend la charge du trafic, puis faites la même chose avec l’autre serveur de noeud.

    Votre configuration nginx utiliserait quelque chose de similaire à ce qui suit:

    upstream backend { server backend1.example.com weight=5; server backend2.example.com:8080; server unix:/tmp/backend3; server backup1.example.com:8080 backup; server backup2.example.com:8080 backup; } server { location / { proxy_pass http://backend; } } 

    Pour plus d’informations sur le proxy nginx et les fournisseurs en amont, consultez la documentation nginx: http://nginx.org/en/docs/http/ngx_http_upstream_module.html