16、微服务工作流与函数即服务详解

微服务工作流与函数即服务详解

1. 补偿工作流

并非所有工作流都需要完全可逆并受事务约束。在给定的工作流中,会出现许多不可预见的问题,很多情况下只能尽力完成工作流。若失败,可以采取事后补救措施。

票务和基于库存的系统常采用这种方法。例如,销售实体产品的网站在购买时可能没有足够库存来处理多个并发交易。零售商结算付款并评估可用库存后,可能发现没有足够库存来履行订单,此时有几种选择:
- 严格基于事务的方法:要求回滚最近的交易,即把钱退还给支付提供商,并通知客户商品已缺货,订单已取消。虽然技术上正确,但这可能导致糟糕的客户体验,降低客户与零售商之间的信任。
- 补偿工作流:可根据企业的客户满意度政策来补救这种情况。企业可以订购新库存,通知客户订单延迟,并提供下次购买的折扣代码作为道歉。客户可以选择取消订单或等待新库存到货。音乐、体育和其他演出场所,以及航空公司和其他票务旅行社,在门票超售的情况下经常采用这种方法。补偿工作流并非总是可行,但对于处理面向客户产品的分布式工作流操作通常很有用。

2. 不同工作流模式对比
工作流模式 特点 适用场景
编排(Choreography) 允许业务单元和独立工作流之间松耦合 适用于简单的分布式事务和简单的非事务性工作流,微服务数量少且业务操作顺序不太可能改变的情况
编排式事务和工作流(Orc
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值