供应链业务MQ应用场景经验总结

写在前面:做供应链业务一年有余了,这一年里MQ帮我们解决了很多问题,在此做一些经验总结;另外,各个公司消息中间件提供的功能大同小异,最基础的推消息、下游异常重试机制应该是都具备的,本文所述也是建立在这样的能力基础上的~

场景一:削峰填谷,降低响应时间,下游异常自动重试、保证成功

举例:对库存模块而言,入库是一个增量操作,当通过了数据校验之后就理应执行成功,但入库操作常常伴有复杂的写库逻辑及乐观锁冲突,同步模型平均响应时间长,且并发条件下乐观锁冲突失败概率较大;这里就可以引入MQ,将写库操作异步处理,简要流程如下:
在这里插入图片描述
需要注意的是:
1、如果有重复发消息地可能性,MQ下游需要做业务幂等,整条链路要有并发锁保护(redis实现并发悲观锁可参看文章:https://segmentfault.com/a/1190000014270584);

2、如果下游触发异常,中间件一般会自动重试(并发乐观锁冲突自动重试可解决,中间件一般会提供一直重试、重新入队、丢弃消息等模式,需根据具体场景选取,在此不再赘述);如果是非

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值