Wzorce projektowe mikrousług

Azure Cloud Services

Celem mikrousług jest zwiększenie szybkości wydań aplikacji przez rozdzielenie aplikacji na małe autonomiczne usługi, które można wdrożyć niezależnie. Architektura mikrousług niesie również pewne wyzwania. Przedstawione tutaj wzorce projektowe mogą pomóc w ograniczeniu tych wyzwań.

Microservices design patterns

Ambasador może służyć do odciążania typowych zadań łączności klienta, takich jak monitorowanie, rejestrowanie, routing i zabezpieczenia (np. TLS) w sposób niezależny od języka. Usługi ambasadora są często wdrażane jako przyczepka (patrz poniżej).

Warstwa antykorupcyjna implementuje fasadę między nowymi i starszymi aplikacjami, aby upewnić się, że projektowanie nowej aplikacji nie jest ograniczone przez zależności od starszych systemów.

Zaplecze dla frontonów tworzy oddzielne usługi zaplecza dla różnych typów klientów, takich jak komputery stacjonarne i mobilne. W ten sposób pojedyncza usługa zaplecza nie musi obsługiwać sprzecznych wymagań różnych typów klientów. Ten wzorzec może pomóc w zachowaniu prostoty każdej mikrousługi przez oddzielenie problemów specyficznych dla klienta.

Grodzi izoluje krytyczne zasoby, takie jak pula połączeń, pamięć i procesor CPU, dla każdego obciążenia lub usługi. Korzystając z grodzi, pojedyncze obciążenie (lub usługa) nie może zużywać wszystkich zasobów, głodując innych. Ten wzorzec zwiększa odporność systemu, zapobiegając kaskadowym awariom spowodowanym przez jedną usługę.

Agregacja bramy agreguje żądania do wielu pojedynczych mikrousług w jednym żądaniu, co zmniejsza czatność między użytkownikami a usługami.

Odciążanie bramy umożliwia każdej mikrousłudze odciążanie funkcji usługi udostępnionej, takich jak użycie certyfikatów SSL, do bramy interfejsu API.

Routing bramy kieruje żądania do wielu mikrousług przy użyciu jednego punktu końcowego, aby użytkownicy nie musieli zarządzać wieloma oddzielnymi punktami końcowymi.

Most obsługi komunikatów integruje różne systemy utworzone z różnymi infrastrukturami obsługi komunikatów.

Przyczepka wdraża składniki pomocnicze aplikacji jako oddzielny kontener lub proces w celu zapewnienia izolacji i hermetyzacji.

Funkcja Strangler Fig obsługuje refaktoryzację przyrostową aplikacji, stopniowo zastępując określone elementy funkcjonalności nowymi usługami.

Pełny wykaz wzorców projektowych chmury w Centrum architektury platformy Azure można znaleźć w temacie Cloud Design Patterns (Wzorce projektowania chmury).

Następne kroki