17、服务反模式与案例研究

服务反模式与案例研究

1. 服务反模式

1.1 事务集成与Saga模式

在处理库存问题时,订单服务可能需要执行补偿操作。为了合理处理,服务可能需要保存一些数据,如库存水平数据,以便自主做出合理决策。

Saga模式可与通信反转模式结合,使服务根据自身操作发送事件,并订阅其他事件以创建编排场景。以订单服务为例,订单服务发布新订单需要处理的事件,库存服务监听该事件。库存服务确保物品后,发布相应事件,订单服务可通知客户订单已准备好。

Saga和通信反转模式都实现了最终一致性系统,放宽了各服务决策的时间限制,这通常也符合业务的一般运作方式。

事务集成在大多数分布式系统中通常不是好主意,但在基于SOA原则构建的封闭系统中可能是个例外。不过,即使在这种罕见情况下,也最好使用编排引擎在服务外部控制事务范围。

1.2 老方法反模式

老方法反模式可能在应用新技术或架构时出现,当难以将其在现实世界中实现时就可能发生。

例如,一个所谓的“SOA”架构,左边是数据服务(数据库包装在Web服务或RESTful外壳中),中间是处理客户和账户业务逻辑的实体,右边是CRUD服务接口。但这实际上是一个n层/n级架构,并非真正的SOA。

这种反模式的后果是,使用SOA工具和开销实现非SOA架构,付出了SOA的代价却未获得SOA的好处。SOA的代价包括设计和运行时的更多投入,以及增加的延迟和组件局部复杂性。

老方法反模式主要由对SOA理解不足导致,常见误解是将Web服务与SOA服务直接关联。此外,从其他架构风格向SOA过渡的系统也可能出现这种反模式。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值