Udostępnij za pośrednictwem


Architektura zorientowana na usługi

Napiwek

Ta zawartość jest fragmentem książki eBook, architektury mikrousług platformy .NET dla konteneryzowanych aplikacji platformy .NET dostępnych na platformie .NET Docs lub jako bezpłatnego pliku PDF, który można odczytać w trybie offline.

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

Architektura zorientowana na usługi (SOA) była nadmiernie ważną terminem i oznaczała różne rzeczy dla różnych ludzi. Jednak jako wspólny mianownik SOA oznacza, że strukturę aplikacji można podzielić na wiele usług (najczęściej jako usługi HTTP), które mogą być klasyfikowane jako różne typy, takie jak podsystemy lub warstwy.

Te usługi można teraz wdrożyć jako kontenery platformy Docker, co rozwiązuje problemy z wdrażaniem, ponieważ wszystkie zależności są uwzględnione w obrazie kontenera. Jednak w przypadku konieczności skalowania aplikacji SOA w górę może wystąpić problemy ze skalowalnością i dostępnością w przypadku wdrażania na podstawie pojedynczych hostów platformy Docker. W tym miejscu można pomóc programowi klastrowania platformy Docker lub orkiestratorowi, zgodnie z opisem w kolejnych sekcjach, w których opisano metody wdrażania mikrousług.

Kontenery platformy Docker są przydatne (ale nie są wymagane) zarówno dla tradycyjnych architektur zorientowanych na usługi, jak i bardziej zaawansowanych architektur mikrousług.

Mikrousługi pochodzą z soa, ale SOA różni się od architektury mikrousług. Funkcje, takie jak duże centralne brokery, centralni orkiestratorzy na poziomie organizacji, a usługa Enterprise Service Bus (ESB) są typowe dla SOA. Jednak w większości przypadków są to anty-wzorce w społeczności mikrousług. W rzeczywistości niektórzy twierdzą, że "Architektura mikrousług jest wykonywana prawidłowo".

Ten przewodnik koncentruje się na mikrousługach, ponieważ podejście SOA jest mniej nakazowe niż wymagania i techniki używane w architekturze mikrousług. Jeśli wiesz, jak utworzyć aplikację opartą na mikrousługach, wiesz również, jak utworzyć prostszą aplikację zorientowaną na usługę.