Dieser Inhalt ist veraltet. Diese Version des Well-Architected Framework finden Sie jetzt unter: https://docs.aws.amazon.com/de_de/wellarchitected/2022-03-31/framework/reliability.html

REL 4: Wie lassen sich Interaktionen in einem verteilten System so gestalten, dass Ausfälle vermieden werden?

Verteilte Systeme nutzen Kommunikationsnetzwerke, um Komponenten wie Server oder Services miteinander zu verbinden. Ihre Workload muss trotz Datenverlust oder höherer Latenz in diesen Netzwerken zuverlässig ausgeführt werden. Komponenten des verteilten Systems müssen so funktionieren, dass sie keine negativen Auswirkungen auf andere Komponenten oder die Workload haben. Diese bewährten Methoden verhindern Ausfälle und verbessern die mittlere Zeit zwischen Ausfällen (MTBF).

Ressourcen

AWS re:Invent 2019: Moving to event-driven architectures (SVS308)
AWS re:Invent 2018: Close Loops and Opening Minds: How to Take Control of Systems, Big and Small ARC337 (includes loose coupling, constant work, static stability)
AWS New York Summit 2019: Intro to Event-driven Architectures and Amazon EventBridge (MAD205)
What Is Amazon EventBridge?
What Is Amazon Simple Queue Service?
Amazon EC2: Ensuring Idempotency
The Amazon Builders' Library: Challenges with distributed systems

Bewährte Methoden:

Verbesserungsplan

Bestimmen, welches verteiltes System erforderlich ist

  • Bestimmen, welches verteiltes System erforderlich ist: Zu den Herausforderungen verteilter Systeme gehörten die Latenz, die Skalierung, das Verständnis von Netzwerk-APIs, das Marshalling und Unmarshalling von Daten sowie die Komplexität von Algorithmen wie Paxos. Mit dem zunehmenden Wachstum und dem höheren Verteilungsgrad der Systeme werden Edge-Fälle, früher bloße Theorie, zu regelmäßigen Vorkommnissen.
    The Amazon Builders' Library: Challenges with distributed systems
  • Implementieren lose gekoppelter Abhängigkeiten

  • Implementieren lose gekoppelter Abhängigkeiten: Abhängigkeiten etwa zwischen Warteschlangensystemen, Streaming-Systemen, Workflows und Load Balancern sind lose gekoppelt. Die lose Kopplung hilft, das Verhalten einer Komponente von anderen Komponenten zu isolieren, die von ihr abhängig sind, wodurch sich die Ausfallsicherheit und die Agilität erhöhen.
    AWS re:Invent 2019: Moving to event-driven architectures (SVS308)
    What Is Amazon EventBridge?
    What Is Amazon Simple Queue Service?
  • Festlegen idempotenter Antworten

  • Festlegen idempotenter Antworten: Ein idempotenter Service garantiert, dass jede Anfrage genau einmal abgeschlossen wird. Das bedeutet, dass das Senden mehrerer identischer Anfragen den gleichen Effekt hat wie das Senden einer einzelnen Anfrage.
  • Beständige Arbeit

  • Beständige Arbeit: Bei größeren, schnellen Lastveränderungen können Systeme ausfallen.
    AWS re:Invent 2018: Close Loops and Opening Minds: How to Take Control of Systems, Big and Small ARC337 (includes constant work)