Microservices es un estilo arquitectónico donde una aplicación se construye como un conjunto de servicios pequeños, independientemente desplegables, cada uno de los cuales posee una capacidad empresarial y se comunica a través de la red (HTTP, gRPC o messaging).
Cómo funciona
Cada servicio se ejecuta en su propio proceso, tiene su propio almacén de datos y puede ser desarrollado, desplegado y escalado de forma independiente. Los equipos poseen los servicios de principio a fin.
┌──────────────┐
Client ─▶ │ API Gateway │
└──────┬───────┘
┌───────────┼───────────┐
▼ ▼ ▼
┌────────┐ ┌─────────┐ ┌──────────┐
│ Orders │ │ Payments│ │ Shipping │ ← each: own code + DB
└───┬────┘ └────┬────┘ └────┬─────┘
▼ ▼ ▼
ordersDB paymentsDB shippingDB
