Kapitel 12. Resilienz aufbauen in
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Verteilte Systeme bedeuten zusätzliche Latenzzeiten und ein höheres Ausfallrisiko, da die Anfragen über das Netzwerk laufen. Wenn du Timeouts und Wiederholungsversuche falsch einschätzt, kann ein langsamer Dienst schlimmer sein als ein defekter, weil Threads auf die Antwort warten müssen. Sobald sich der Dienst erholt hat, sind die Herausforderungen noch nicht vorbei, denn ein Ansturm von Anfragen kann ihn wieder in die Knie zwingen.
Wir müssen Microservice-basierte Systeme anders aufbauen. Die Dienste sollten so geschrieben sein, dass sie mit Problemen umgehen können, die durch die Dinge entstehen, von denen sie abhängen, einschließlich des Herunterfahrens der Hosts, auf denen sie laufen.
Die Systeme sollten ausfallsicher sein und über eingebaute Redundanzen verfügen. Wiederholungsversuche, Wiederherstellung und Fehlerbehebung sollten so weit wie möglich automatisiert und zuverlässig sein. Das Microservice-Versprechen eines kleinen Radius bei einem Ausfall gilt nur, wenn du sichergestellt hast, dass der Rest des Systems funktioniert, wenn ein einzelner Dienst Probleme hat.
Später in diesem Kapitel werde ich darüber sprechen, wie man belastbare Dienste und dann belastbare Systeme aufbaut. Zunächst aber wollen wir besprechen, was Resilienz bedeutet und welche Herausforderungen es beim Aufbau eines resilienten verteilten ...
Get Erfolgreiche Microservices ermöglichen 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.