Freigeben über


Entwurfsmuster für Microservices

Azure Cloud Services

Das Ziel von Microservices besteht darin, die Geschwindigkeit von Anwendungsversionen zu erhöhen, indem die Anwendung in kleine autonome Dienste dekompiliert wird, die unabhängig voneinander bereitgestellt werden können. Eine Microservices-Architektur bringt auch einige Herausforderungen mit sich. Die hier gezeigten Entwurfsmuster können dazu beitragen, diese Herausforderungen zu mindern.

Microservices-Entwurfsmuster

Botschafter kann verwendet werden, um allgemeine Clientkonnektivitätsaufgaben wie Überwachung, Protokollierung, Routing und Sicherheit (z. B. TLS) auf agnostische Weise zu entladen. Botschafterdienste werden häufig als Sidecar eingesetzt (siehe unten).

Die Antibeschädigungsschicht implementiert eine Fassade zwischen neuen und älteren Anwendungen, um sicherzustellen, dass das Design einer neuen Anwendung nicht durch Abhängigkeiten von Legacysystemen beschränkt ist.

Back-Ends für Frontends erstellen separate Back-End-Dienste für verschiedene Clienttypen, z. B. Desktop und Mobil. Auf diese Weise muss ein einzelner Back-End-Dienst die widersprüchlichen Anforderungen verschiedener Clienttypen nicht behandeln. Dieses Muster kann dazu beitragen, jeden Microservice einfach zu halten, indem clientspezifische Bedenken getrennt werden.

Bulkhead isoliert kritische Ressourcen, z. B. Verbindungspool, Arbeitsspeicher und CPU, für jede Workload oder jeden Dienst. Durch die Verwendung von Bulkheads kann eine einzelne Arbeitsauslastung (oder ein Dienst) nicht alle Ressourcen verbrauchen und andere verhungern. Dieses Muster erhöht die Ausfallsicherheit des Systems, indem kaskadierende Fehler vermieden werden, die durch einen Dienst verursacht werden.

Die Gatewayaggregation aggregiert Anforderungen an mehrere einzelne Microservices in einer einzigen Anforderung, wodurch die Chattigkeit zwischen Verbrauchern und Diensten reduziert wird.

Das Offloading von Gateways ermöglicht jedem Microservice das Offloading von Shared Service-Funktionen, z. B. die Verwendung von SSL-Zertifikaten, an ein API-Gateway.

Gatewayrouting leitet Anforderungen an mehrere Microservices mithilfe eines einzelnen Endpunkts weiter, sodass Verbraucher nicht viele separate Endpunkte verwalten müssen.

Messaging Bridge integriert unterschiedlichste Systeme, die mit unterschiedlichen Messaging-Infrastrukturen erstellt wurden.

Sidecar stellt Hilfskomponenten einer Anwendung als separaten Container oder Prozess bereit, um Isolation und Kapselung bereitzustellen.

Strangler Fig unterstützt die inkrementelle Umgestaltung einer Anwendung, indem bestimmte Funktionen schrittweise durch neue Dienste ersetzt werden.

Den vollständigen Katalog der Clouddesignmuster im Azure Architecture Center finden Sie unter Cloud Design Patterns.

Nächste Schritte