上下文映射的通信集成模式

防腐层与开放主机服务

目的:降低限界上下文之间的耦合关系

 

防腐层:(下游限界上下文对 上游限界上下文变化的隔离)

是什么:设计思想“间接”的一种体现

方法:通过引入一个间接的层,就可以

目的:有效隔离限界上下文之间的耦合

设计模式:间接的防腐层还可以扮演“适配器”的角色、“调停者”的角色、“外观”的角色

 

防腐层往往属于下游限界上下文,用以

目的:隔绝上游限界上下文可能发生的变化。

 

下游团队终究可能面临不可掌控的上游变化。

在防腐层中定义一个映射上游限界上下文的服务接口,就可以将掌控权控制在下游团队中,

即使上游发生了变化,影响的也仅仅是防腐层中的单一变化点,只要防腐层的接口不变,下游限界上下文的其他实现就不会受到影响。

 

图例:

无防腐层:

下游上下文可能存在多处上游上下文领域模型的依赖,一旦上游发生变更,就会影响到下游的多处实现

 

有防腐层:

多处依赖转为对防腐层的依赖

由防腐层指向上游上下文,形成单一依赖

好处:上游变更时,影响的仅仅是防腐层,下游上下文自身并未受到影响。

 

防腐层对遗留系统治理:

将遗留系统视为一个整体的限界上下文,然后为调用它的下游上下文建立防腐层

 

在防腐层内:

从调用者角度思考需要公开的服务接口,并引入领域驱动设计为其提炼出清晰的领域模型,然后再从遗留系统中去寻找对应的实现,慢慢将合适的代码搬移过来,适时对其重构

 

开放主机服务:(上游限界上下文的承诺)

防腐层是下游限界上下文对抗上游变化的利器

 

开放主机服务就是上游服务用来吸引更多下游调用者的诱饵

实现:定义公开服务的协议,包括通信的方式、传递消息的格式(协议)。同时,也可视为是一种承诺保证开放的服务不会轻易做出变化

 

目的:降低上游与下游限界上下文之间的依赖

 

发布/订阅事件:

事件(消息 解耦):

 

适用范围:异步非实时的业务场景

优点:

1 解耦

2 非阻塞特性也使得整个架构具有更强的响应能力

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值