关于库存一致的问题
来源:9-1 流量削峰技术引入

慕函数2082699
2019-06-16
1、库存redis和数据库异步,那产品展示也中的库存数字是用redis中的?还是数据库中的?
2、目前redis和provider消息是符合一致性了,那如果消息consumer处理失败,依旧无法保证redis和数据库最终事务一致?
写回答
1回答
-
龙虾三少
2019-06-16
关于展示问题,我建议都是按照redis中取,取不出来再取数据库的,若数据库内数据更新,比如下单成功,则发送异步消息去清除redis数据,这样下次过来就可以走数据库拿到正确的数据了,当然也会有扣减库存没有清redis快,但业务上对库存还剩多少件展示层面没必要那么实时
consumer处理失败分为两种情况:
程序退出或网络问题等,这种mq不会被标记为消费成功,mq会重试直到成功为止
无论重试多少次都不能consume成功的消息,目前情况下业务是先扣redis的,因此不会又这种情况
022019-06-16
相似问题