解决方案
文章平均质量分 93
With_Her
这个作者很懒,什么都没留下…
展开
-
Nacos配置与踩坑总结
核心问题:1.不同域名,走不同配置2.开关、配置、JSON三种配置类型解决方案设计思路:1.分三大类:业务配置、域名配置、域名自定义配置业务配置:用于配置所有业务中的配置信息针对业务情况,分为三类业务配置:开关配置、基础配置、数据配置(黑/白名单) 每种配置都为单独的nacos针对大促情况:将三类配置各自再两个环境配置,共三个环境配置,方便在不同配置环境中自由切换域名配置:用于配置域名走哪个配置环境,实现出现问题快速将某域名切换到不同环境域原创 2021-11-30 10:38:11 · 3432 阅读 · 2 评论 -
高并发场景下,库存问题解决方案
背景:业务场景:库存扣减场景,消费方调用dubbo服务,扣减订单的库存Dubbo配置:5s超时时间,未配置默认重试次数消费方:对商品加redis分布式锁,防止并发扣减,失效与超时时间为10s问题:用户对相同商品的订单,同时发起扣减库存请求,造成了未扣减,或同一订单多扣减的情况疑惑:未扣减可能是失败了,但为什么会同一订单多扣减?明明加了redis锁啊!但问题,就出在redis锁上复现:1.大量相同商品扣减请求发出2.消费方对一笔订单A的商品加锁,其他订单请求进来..原创 2020-09-27 23:18:28 · 2000 阅读 · 0 评论 -
订单库存回补方案与实现思路
一、思路1.如何回补?记录需要回补的数据,进行回补。2.记录什么数据?单出入库分为两个阶段:A.订单解析获取要扣减的库存。B.扣减库存。所以我们按这两个阶段,分两种类型数据:订单数据/库存修改数据3.如何记录?A阶段失败则记录订单数据,B阶段失败则记录库存修改数据4.如何回补?查询不同类型的待回补数据,进行回补。5.回补失败怎么办?回补失败则重试一次6.如果仍然失败呢?仍然失败则说明数据异常,不再尝试回补。留待开发人员观察数据原因二、实现A阶段1.如订单解析阶段失败.原创 2020-09-18 23:11:00 · 914 阅读 · 0 评论