当前位置:   article > 正文

也谈几个电商常见的应用场景_电商业务复杂场景

电商业务复杂场景

缓存一致性方案

1、如果业务要绝对的强一致,就别用缓存了。用缓存注定不会有真正的强一致。

2、一致性方案:

(1)为数据设置超时时间。

(2)更新数据库,再删除缓存。

(3)将删除缓存的消息放入MQ延迟队列,再删除一次。

3、是否有必要引入canal:canal作用是订阅binlog后投递至MQ,本质是通过重试来保证数据一致性,在主从库延迟的情况下,仍有可能存在不一致,依然需要延迟队列来兜底删除。

订单存储方案

1、订单存储本质是水平分表,没一些人脑补的那么神乎。

2、分表的实现,写个Interceptor拦截,获取真正的表名就行了,获取表名就从本地缓存取,别再访问数据库或redis浪费资源。

3、分表规则根据日期、hash都行。如果商品量大,直接分1024张表,一定够的,别问为啥是1024,可能这样显得专业点吧。

库存扣减方案

1、强数据必须落库,先做冻结。

2、更新库存操作放MQ,流量大了排队,不用担心把数据库搞挂。

3、扣减时用 update xx set count=count-1 where count >1。

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/209182
推荐阅读
相关标签
  

闽ICP备14008679号