Microservices ist ein Architekturstil, bei dem eine Anwendung als eine Reihe von kleinen, unabhängig einsetzbaren Diensten aufgebaut ist. Jeder Dienst ist für eine Geschäftsfähigkeit zuständig und kommuniziert über das Netzwerk (HTTP, gRPC oder Messaging).
Wie es funktioniert
Jeder Dienst läuft in seinem eigenen Prozess, hat seinen eigenen Datenspeicher und kann unabhängig entwickelt, bereitgestellt und skaliert werden. Teams sind für ihre Dienste von Anfang bis Ende verantwortlich.
┌──────────────┐
Client ─▶ │ API Gateway │
└──────┬───────┘
┌───────────┼───────────┐
▼ ▼ ▼
┌────────┐ ┌─────────┐ ┌──────────┐
│ Orders │ │ Payments│ │ Shipping │ ← each: own code + DB
└───┬────┘ └────┬────┘ └────┬─────┘
▼ ▼ ▼
ordersDB paymentsDB shippingDB
