2016-11-02 3 views
0

Zum Beispiel habe ich einen Master-Knoten-Prozess, der 8 child_processes erzeugt. Der Master-Prozess weist eine http-Anfrage zu und weist sie einem child_process zu (zufällig oder round-robin).wie synchronisierte Logik in zwei oder mehr Knoten Prozess (Child_Process) zu gewährleisten?

Wenn die Logik in child_process eine bestimmte Datei auf der Festplatte lesen/aktualisieren oder ein Tabellenfeld in der Datenbank lesen/aktualisieren soll. Sollte ich child_processes betreffen, die sich gegenseitig überschreiben?

Danke!

Antwort

0

Solange jedes Kind in einem separaten Prozess arbeitet, können sie die externe Datenbank gleichzeitig erreichen. IPC communication kann helfen, Arbeiter zu synchronisieren, aber es hängt von Ihrer Aufgabe ab

+0

Meinen Sie, wenn beim Anhängen von Inhalt auf der gleichen Datei die 8 child_processes möglicherweise miteinander in Konflikt stehen? – jiajianrong

+0

Sie meinen, Datenbankbetrieb könnte Konflikte verursachen, das ist, was ich bekomme. Ist es richtig? Vielen Dank. – jiajianrong

+0

Was meinst du mit "Konflikt"? Für die Datenbank wird es keinen Konflikt geben, die meisten von ihnen sind entworfen, um mit Nebenläufigkeit zu arbeiten. Wie für die Datei mehrere Prozesse können eine Sauerei nach dem gleichzeitigen Speichern von Operationen, aber es hängt davon ab, wie Sie Schreibvorgänge verwalten (WriteStream oder Sync-Schriften können das Problem lösen) – Dmitriy

Verwandte Themen