Partilhar via


Arquitetura orientada a serviços

Gorjeta

Este conteúdo é um trecho do eBook, .NET Microservices Architecture for Containerized .NET Applications, disponível no .NET Docs ou como um PDF para download gratuito que pode ser lido offline.

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

Arquitetura orientada a serviços (SOA) foi um termo muito usado e significou coisas diferentes para pessoas diferentes. Mas, como um denominador comum, SOA significa que você estrutura seu aplicativo decompondo-o em vários serviços (mais comumente como serviços HTTP) que podem ser classificados como diferentes tipos, como subsistemas ou camadas.

Esses serviços agora podem ser implantados como contêineres do Docker, o que resolve problemas de implantação, porque todas as dependências são incluídas na imagem do contêiner. No entanto, quando você precisa expandir aplicativos SOA, pode ter desafios de escalabilidade e disponibilidade se estiver implantando com base em hosts Docker únicos. É aqui que o software de cluster do Docker ou um orquestrador podem ajudá-lo, conforme explicado nas seções posteriores, onde as abordagens de implantação para microsserviços são descritas.

Os contêineres do Docker são úteis (mas não necessários) tanto para arquiteturas tradicionais orientadas a serviços quanto para as arquiteturas de microsserviços mais avançadas.

Os microsserviços derivam da SOA, mas a SOA é diferente da arquitetura de microsserviços. Recursos como grandes corretores centrais, orquestradores centrais no nível da organização e o Enterprise Service Bus (ESB) são típicos em SOA. Mas, na maioria dos casos, estes são anti-padrões na comunidade de microsserviços. Na verdade, algumas pessoas argumentam que "A arquitetura de microsserviço é SOA feita corretamente".

Este guia se concentra em microsserviços, porque uma abordagem SOA é menos prescritiva do que os requisitos e técnicas usados em uma arquitetura de microsserviços. Se você sabe como criar um aplicativo baseado em microsserviços, também sabe como criar um aplicativo orientado a serviços mais simples.