良好的服务边界应遵循业务能力,而不是技术层。**领域驱动设计(DDD)**为此提供了一个精确的工具:bounded context——一个边界,在这个边界内域模型及其术语保持一致。
Bounded context
"Customer"这个词在不同的上下文中可能有不同的含义。每个bounded context拥有自己的模型,一个微服务通常映射到一个context。
text
┌───────────────────┐ ┌────────────────────┐
│ Sales context │ │ Support context │
│ Customer = │ │ Customer = │
│ leads, orders │ │ tickets, SLAs │
└───────────────────┘ └────────────────────┘
one service another service
