Mikrousługi stały się popularnym stylem architektury do tworzenia odpornych, w dużym stopniu skalowalnych i zdolnych do szybkiego rozwijania się aplikacji w chmurze mających możliwość niezależnego wdrażania. Jednak mikrousługi wymagają innego podejścia do projektowania i tworzenia aplikacji, aby nie były tylko modnym hasłem.
Z tego zestawu artykułów dowiemy się, jak utworzyć architekturę mikrousług na platformie Azure. Tematy obejmują:
- Opcje obliczeń dla mikrousług
- Komunikacja między usługami
- Projekt interfejsu API
- Bramy interfejsu API
- Zagadnienia dotyczące danych
- Wzorce projektowe
Wymagania wstępne
Zanim przeczytasz te artykuły, możesz zacząć od następującego:
- Wprowadzenie do architektur mikrousług. Poznaj korzyści i wyzwania związane z mikrousługami oraz dowiedz się, kiedy należy używać architektury w tym stylu.
- Używanie analizy domen do modelowania mikrousług. Poznaj podejście do modelowania mikrousług oparte na domenach.
Implementacja referencyjna
W celu zilustrowania najlepszych rozwiązań dotyczących architektury mikrousług utworzyliśmy implementację referencyjną, którą nazwaliśmy aplikacją Drone Delivery. Ta implementacja działa na platformie Kubernetes, korzystając z usługi Azure Kubernetes Service (AKS). Implementację referencyjną można znaleźć w witrynie GitHub.
Pobierz plik programu Visio z tą architekturą.
Scenariusz
Firma Fabrikam, Inc. uruchamia usługę dostarczania za pomocą dronów. Firma zarządza flotą dronów. Firmy rejestrują się w usłudze, a użytkownicy mogą zamówić drona, który pobierze towary do dostarczenia. Gdy klient planuje pobranie, system wewnętrznej bazy danych przypisuje drona i powiadamia użytkownika o szacowanym czasie dostawy. Gdy trwa dostarczanie, klient może śledzić położenie drona i na bieżąco aktualizowany szacowany czas dostawy.
To rozwiązanie jest idealne dla przemysłu lotniczego i lotniczego.
Ten scenariusz obejmuje dość skomplikowaną domenę. Niektóre kwestie biznesowe to między innymi planowanie dronów, śledzenie paczek, zarządzanie kontami użytkowników oraz przechowywanie i analizowanie danych historycznych. Ponadto firma Fabrikam chce szybko wejść na rynek i szybko się rozwijać, dodając nowe funkcje i możliwości. Aplikacja musi działać w skali chmury na wysokim docelowym poziomie usług (SLO). Firma Fabrikam oczekuje również, że różne części systemu będą miały bardzo różne wymagania dotyczące magazynowania danych i wykonywania zapytań. Wszystkie te kwestie powodują, że firma Fabrikam wybiera dla aplikacji Drone Delivery architekturę mikrousług.
Uwaga
Aby uzyskać pomoc na temat wyboru między architekturą mikrousług i innymi stylami architektury, zobacz Przewodnik dotyczący architektury aplikacji na platformie Azure.
Nasza implementacja referencyjna korzysta z usługi Kubernetes z usługą Azure Kubernetes Service (ACS). Jednak wiele decyzji i wyzwań związanych z architekturą wysokiego poziomu będzie miało zastosowanie do dowolnego orkiestratora kontenerów.