Kapitel 3. Skalierung
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Redundante Kopien eines Dienstes zu betreiben ist aus mindestens zwei Gründen wichtig.
Der erste Grund ist um eine hohe Verfügbarkeit zu erreichen. Es kann vorkommen, dass Prozesse oder ganze Rechner abstürzen. Wenn nur eine einzige Instanz eines Produzenten läuft und diese abstürzt, können die Verbraucher nicht arbeiten, bis der abgestürzte Produzent wieder gestartet wurde. Bei zwei oder mehr laufenden Producer-Instanzen verhindert eine einzelne ausgefallene Instanz nicht unbedingt, dass ein Consumer funktioniert.
Ein weiterer Grund ist, dass eine bestimmte Node.js-Instanz nur eine bestimmte Menge an Durchsatz bewältigen kann ( ). Je nach Hardware kann zum Beispiel der einfachste Node.js-Dienst "Hello World" einen Durchsatz von etwa 40.000 Anfragen pro Sekunde (r/s) haben. Sobald eine Anwendung beginnt, Nutzdaten zu serialisieren und zu deserialisieren oder andere rechenintensive Aufgaben zu erledigen, sinkt dieser Durchsatz um Größenordnungen. Das Auslagern der Arbeit auf zusätzliche Prozesse hilft zu verhindern, dass ein einzelner Prozessüberfordert wird.
Es gibt ein paar Tools, mit denen du die Arbeit aufteilen kannst. In "Das Cluster-Modul" geht es um ein eingebautes Modul, mit dem sich redundante Kopien von Anwendungscode auf demselben Server ausführen lassen. In "Reverse Proxies mit HAProxy" werden mehrere redundante ...
Get Verteilte Systeme mit Node.js now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.