Glossário

Microsserviço (Microservice)

Estilo arquitetural no qual uma aplicação é composta por serviços pequenos, independentemente deployáveis, comunicando-se por APIs leves.

Definição completa

Microsserviço é um estilo arquitetural no qual uma aplicação é composta por múltiplos serviços pequenos, autônomos, deployáveis independentemente, comunicando-se por APIs leves (HTTP/REST, gRPC, eventos via Kafka ou RabbitMQ). Cada serviço encapsula uma capability de negócio (bounded context) e tem seu próprio banco de dados.

Difere de monolito (todo o código em uma única unidade de deploy) e SOA tradicional (serviços grandes orquestrados por ESB pesado). Características essenciais (Sam Newman): autonomia tecnológica por serviço, deploy independente, falha isolada, owner team claro, comunicação por contrato versionado.

Vantagens: escalabilidade granular (escala apenas o que precisa), deploy independente (release diário sem coordenação global), resiliência (falha em um serviço não derruba todos), liberdade tecnológica (cada time escolhe stack).

Custos reais: complexidade operacional (observability distribuída, tracing, idempotência), latência de rede entre serviços, eventual consistency, necessidade de DevOps maduro, custo inicial maior. Para sistemas pequenos (menos de 5 desenvolvedores), monolito modular costuma ser melhor.

Referências externas

Termos relacionados