Microserviços é um estilo arquitetônico onde uma aplicação é construída como um conjunto de pequenos serviços independentemente implantáveis, cada um possuindo uma capacidade de negócio e se comunicando pela rede (HTTP, gRPC, ou mensageria).
Como funciona
Cada serviço é executado em seu próprio processo, possui seu próprio armazenamento de dados e pode ser desenvolvido, implantado e dimensionado independentemente. Os times possuem serviços de ponta a ponta.
┌──────────────┐
Client ─▶ │ API Gateway │
└──────┬───────┘
┌───────────┼───────────┐
▼ ▼ ▼
┌────────┐ ┌─────────┐ ┌──────────┐
│ Orders │ │ Payments│ │ Shipping │ ← each: own code + DB
└───┬────┘ └────┬────┘ └────┬─────┘
▼ ▼ ▼
ordersDB paymentsDB shippingDB
