Compartilhar via


Arquitetura orientada a serviços

Dica

Esse conteúdo é um trecho do eBook, arquitetura de microsserviços do .NET para aplicativos .NET em contêineres, disponível em do .NET Docs ou como um PDF para download gratuito que pode ser lido offline.

miniatura da capa do eBook sobre arquitetura de microsserviços do .NET para aplicativos .NET em contêineres.

A SOA (arquitetura orientada a serviços) era um termo superutilizado 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 tipos diferentes, como subsistemas ou camadas.

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

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

Os microsserviços derivam do SOA, mas SOA é diferente da arquitetura de microsserviços. Recursos como grandes agentes centrais, orquestradores centrais no nível da organização e o Barramento de Serviço Empresarial (ESB) são típicos na arquitetura SOA. Mas, na maioria dos casos, são antipadrõ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, pois uma abordagem SOA é menos prescritiva do que os requisitos e técnicas usadas em uma arquitetura de microsserviço. Se você souber como criar um aplicativo baseado em microsserviço, também saberá como criar um aplicativo mais simples orientado a serviços.