Files
knowledge-kit/Chapter3 - Server/3.10.md

1.1 KiB
Raw Blame History

领域驱动设计与中后台、BFF的关系

  1. DDD 将业务拆分为多个领域,比如订单、商品...。每个域的服务是单独可以运行、维护的。比如订单域有10台机器1台负载均衡9台真正做事情的机器。有任务过来调度器进行任务派发。
  2. 客户端或者大前端都存在模块的概念。比如商品、订单,也是以 Pods 的形式去维护,每个领域的代码都单独可以运行、维护。模块之间不存在耦合关系,通过接口的形式去能力发现、能力调用。比如订单域通过某个接口访问某个商品详情的能力
  3. DDD 的最佳实践是不是微服务。比如订单服务所在的工程,可以单独运行、维护。
  4. 基于微服务,肯定需要一个 BFF 层扮演业务编排、字段转换。比如订单域的模型有100个字段。但是订单的接口为客户端服务客户端通过接口找20182020年的、待付款的订单BFF 层就去扮演数据组装、字段筛选的作用。