Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Tipp
Dieser Inhalt ist ein Auszug aus dem eBook .NET Microservices Architecture for Containerized .NET Applications, verfügbar auf .NET Docs oder als kostenlose herunterladbare PDF, die offline gelesen werden kann.
Ihre Microservice- und cloudbasierten Anwendungen müssen die teilweisen Fehler umfassen, die sicherlich irgendwann auftreten werden. Sie müssen Ihre Anwendung so entwerfen, dass sie für diese Teilfehler widerstandsfähig ist.
Bei der Resilienz geht es um die Möglichkeit, nach Ausfällen eine Wiederherstellung durchzuführen und die Betriebsbereitschaft sicherzustellen. Es geht nicht darum, Fehler zu vermeiden, sondern die Tatsache zu akzeptieren, dass Fehler auftreten und auf eine Weise reagieren, die Ausfallzeiten oder Datenverluste verhindert. Ziel der Resilienz ist es, die Anwendung nach einem Fehler in einen voll funktionsfähigen Zustand zurückzugeben.
Es ist schwierig genug, eine mikroservicesbasierte Anwendung zu entwerfen und bereitzustellen. Sie müssen Ihre Anwendung aber auch in einer Umgebung ausführen, in der eine Art von Fehler unvermeidbar ist. Daher sollte Ihre Anwendung robust sein. Sie sollte dafür entworfen sein, mit Teilfehlern wie Netzwerkausfällen oder Knoten bzw. virtuellen Computern, die in der Cloud abstürzen, umzugehen. Selbst Microservices (Container), die in einen anderen Knoten innerhalb eines Clusters verschoben werden, können zu zeitweiligen kurzen Fehlern innerhalb der Anwendung führen.
Die vielen einzelnen Komponenten Ihrer Anwendung sollten auch Gesundheitsüberwachungsfunktionen enthalten. Anhand der Richtlinien in diesem Kapitel können Sie eine Anwendung erstellen, die trotz vorübergehender Ausfallzeiten oder der normalen Unterbrechungen, die in komplexen und cloudbasierten Bereitstellungen auftreten, reibungslos funktionieren kann.
Von Bedeutung
eShopOnContainer hatte die Polly-Bibliothek verwendet, um Resilienz mithilfe von Typed Clients bis zur Version 3.0.0 zu implementieren. Ab Release 3.0.0 wird die Resilienz von HTTP-Aufrufen mithilfe eines Linkerd-Mesh implementiert, das Wiederholungsversuche transparent und konfigurierbar innerhalb eines Kubernetes-Clusters verarbeitet, ohne diese Bedenken im Code behandeln zu müssen.
Die Polly-Bibliothek wird weiterhin verwendet, um Datenbankverbindungen widerstandsfähiger zu machen, insbesondere während des Hochfahrens der Dienste.
Warnung
Alle Codebeispiele und Bilder in diesem Abschnitt waren gültig, bevor Sie Linkerd verwenden und nicht aktualisiert werden, um den aktuellen tatsächlichen Code widerzuspiegeln. Daher sind sie im Kontext dieses Abschnitts sinnvoll.