微服务是一种架构风格,应用程序由一组小型、独立可部署的服务构建而成,每个服务拥有一个业务能力,并通过网络(HTTP、gRPC 或消息传递)进行通信。
工作原理
每个服务在自己的进程中运行,拥有自己的数据存储,可以独立开发、部署和扩展。团队端对端拥有自己的服务。
text
┌──────────────┐
Client ─▶ │ API Gateway │
└──────┬───────┘
┌───────────┼───────────┐
▼ ▼ ▼
┌────────┐ ┌─────────┐ ┌──────────┐
│ Orders │ │ Payments│ │ Shipping │ ← each: own code + DB
└───┬────┘ └────┬────┘ └────┬─────┘
▼ ▼ ▼
ordersDB paymentsDB shippingDB
