电商项目开发day5
·
兄弟们晚上好啊,老实说保持每天发一天博客真难啊,又要写代码又要写博客的。那来说一下今天的进度吧,创建了一个定时任务用来在秒杀活动前五分钟以内将商品库存上线redis,过期时间为一天,因此个人认为不存在redis击穿、穿透、雪崩这些问题,毕竟活动期间redis不会突然过期,要是redis里面没有对应商品那只能说这个活动不存在,你就算捏造不存在商品id的来攻击我数据库我也能在redis层面给你拒绝,除非你秒杀过程中redis宕机导致缓存失效,不过这种极端情况你redis也用不上了只能靠你的数据库。所以它也被作为redis服务器宕机的一个兜底策略,我设计的是每两分钟扫描一次,因此这笔定时开销几乎可以忽略不计,不过我觉得要是在秒杀活动上线前五分钟以内你redis服务器宕机了那我也只能说没谁了。
然后就是引入rabbitmq异步创建订单,这里逻辑就是用户redis预扣库存后会直接返回正在创建订单的相关信息,数据库层面就叫给mq异步操作就可以了,差不多逻辑上就是这样了,实际操作其实也大差不差,自定义一个消息发送器发送信息给交换机,交换机收到信息后就开始异步创建订单等相关操作,将原本对数据库的操作交给mq去执行,这样客户就不用等订单创建完才能收到信息,感觉上会更好,不然要是数据库一卡搞得顾客半天不知道自己有没有下单成功。
好了,今天偷个懒就讲到这,目前项目也完成的差不多了,大家晚安。
更多推荐




所有评论(0)