知识卡片
无必须跨进程的证据前,优先进程内通信
内容
确定限界上下文时不必立即明确通信边界——边界取决于质量属性要求,需权衡库与服务的优缺点。原则:在无法给出必须跨进程通信的证据之前,应优先考虑进程内通信。EAS作为企业内部系统,对并发与低延迟要求不高,即使短时故障也不会带来致命损失,故优先将限界上下文定义为进程内通信边界;唯一例外是OA集成上下文定义为进程间通信,因为它需跨进程调用OA系统。对客户方/供应方模式,供应方上游通过应用服务对外公开服务契约(满足菱形对称架构北向网关要求);对发布者/订阅者模式,发布者也通过应用服务发布事件(应用事件需支持分布式通信)。发散:”默认进程内、有证据才跨进程”是抵御过早微服务化的务实姿态——分布式的复杂度应由明确的质量属性需求来买单。
参考来源
- 位置:《解构领域驱动设计》第20章 20.3.3(源文件:_epub-src/OEBPS/033.xhtml)
- 结论依据:原文明确在无必须跨进程证据前优先进程内通信,并以EAS质量属性与OA例外说明。
- 原始内容:在无法给出必须跨进程通信的证据之前,应优先考虑进程内通信……唯一的例外是OA集成上下文被定义为进程间通信。