Ich reformiere ein paar node.js Dienste. Alle von ihnen begannen mit forever
auf virtuellen Servern, wenn der Prozess abstürzte sie nur neu starten.Sollte ich für immer/pm2 in einem (Docker) Container verwenden?
Jetzt, zu Container-und state-less Anwendungsstrukturen verschieben, ich denke, der Prozess sollte beendet werden und der Container sollte bei einem Fehler neu gestartet werden.
Ist das korrekt? Gibt es Vorteile oder Nachteile?
Sie verlieren Null-Ausfallzeit-Implementierungen von Docker mit, though. Mit Bare-Metal-PM2 können Sie Bereitstellungen ohne Bereitstellung eines Lastenausgleichs durchführen. – Nepoxx
Uh, nur, wenn Sie in einem laufenden Container bereitstellen, anstatt einen neuen Container mit dem neuen App-Code neu zu erstellen, wodurch die meisten der von Docker angestrebten Ziele zunichte gemacht werden. Führen Sie auf Load-Balancer-Ebene keine Ausfallzeiten aus. Lassen Sie mehr als eine Instanz Ihrer App laufen. –
Ein weiterer interessanter Punkt hier: Wenn Sie PM2 verwenden, um mehrere Instanzen als Webserver zu starten, müssen Sie eine Anzahl von Host-Ports freilegen und diese auf der LB handhaben, anstatt dass PM2 eine Pseudo-LB ist. Viele Abstraktionen. * seufz * –