Kapitel 5. Umgang mit Dienstausfällen

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Eine der Schwachstellen beim Aufbau einer großen Microservice-basierten Anwendung ist der Umgang mit Dienstausfällen. Je mehr Dienste du hast, desto größer ist die Wahrscheinlichkeit, dass ein Dienst fehlschlägt, und desto größer ist die Zahl der anderen Dienste, die von dem fehlgeschlagenen Dienst abhängig sind. Wie kannst du mit diesen Serviceausfällen umgehen, ohne deine Anwendung instabil zu machen? In diesem Kapitel werden wir einige Techniken für den Umgang mit Dienstausfällen besprechen.

Kaskadierende Ausfälle von Diensten

Stell dir einen Dienst vor, den du besitzt. Er hat mehrere Abhängigkeiten, und mehrere Dienste hängen von ihm ab. Abbildung 5-1 zeigt den Dienst "Unser Dienst" mit mehreren Abhängigkeiten (Dienst A, Dienst B und Dienst C) und mehreren Diensten, die von ihm abhängen (Verbraucher 1 und Verbraucher 2). Unser Dienst ist von drei Diensten abhängig, und zwei Dienste sind von unserem Dienst abhängig.

Our Service and its dependencies and consumers
Abbildung 5-1. Unser Dienst und seine Abhängigkeiten und Verbraucher

Was passiert, wenn eine unserer Abhängigkeiten fehlschlägt? Abbildung 5-2 zeigt, wie Service A fehlschlägt.

Wenn du nicht aufpasst, kann der Ausfall von Dienst A dazu führen, dass auch "Unser Dienst" ausfällt, da er von Dienst ...

Get Architecting for Scale, 2. Auflage 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.