服务合同设计模式深度解析
1. 合同集中化模式
在服务设计中,消费者程序可能会通过不同的入口点访问底层服务资源,这会导致不同形式的实现依赖,阻碍服务的演变。
- 问题 :即使企业中的服务部署了标准化的服务合同,消费者程序设计者仍可能绕过合同,直接使用原生协议访问底层逻辑。这会使服务合同失去意义,服务与实现的各个部分产生大量紧密依赖,抑制服务的演变和治理,破坏面向服务的许多目标。
- 解决方案 :合同集中化模式将服务合同定位为服务逻辑的唯一入口点,实现与所有服务消费者程序的一致松耦合。
- 应用 :
- 通过正式的企业设计标准和服务抽象设计原则的针对性应用来实现。
- 该模式区分了官方发布的服务合同和可通过单独技术端点访问的服务其他部分。例如,消费者可通过组件的 API 与底层服务组件交互,但这不是“官方”服务入口点,属于非集中化的服务耦合。
- 从长期演变角度看,Web 服务和 REST 服务是建立集中化合同的有效手段,同时与服务的底层环境解耦。而需要使用专有通信协议的合同技术会限制服务访问。
- 影响 :
- 要求团队成员放弃过去的选择,采用集中化设计标准可能会遇到阻力,战术需求可能使一些项目团队忽视该模式。
- 要求所有服务消费者通过单一入口点访问逻辑可能导致性能问题,特别是在重新路由现有集成通道以与服务合同交互时。
超级会员免费看
订阅专栏 解锁全文

1271

被折叠的 条评论
为什么被折叠?



