电商秒杀系统设计

元旦活动期间优惠券系统挂了一次导致出现了部分的秒杀商品价格为0,分析原因之后发现是由于短时间内请求量过大,后端采用的同步机制无法满足需求,数据落库的过程中出现了脏数据(库存已经为0,但是依然可以下单,和优惠券的逻辑冲突之好直接返回了购买成功。。。)

活动结束之后针对这一问题作了一些改进:

1.凡是高并发的场景涉及到的代码全都要求是低耦合、异步处理。通过redis来做mq,把消费者的服务器集群加大,用户在抢购的时候会有几秒钟的等待页面,等待数据实际落库的时候再提示完成交易。

2.访问日志全部丢到缓存里面,并且只记录错误日志。

3.redis改为cluster模式,从单节点改为集群防止挂掉。

618活动过程中,秒杀系统运行良好,如果遇到流量峰值,只需要把redis集群和消费者集群动态加大就行,事后再释放资源。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一个大型网站应用一般都是从最初小规模网站甚至是单机应用发展而来的,为了让系统能够支持足够大的业务量,从前端到后端也...
    心空如大海阅读 920评论 0 1
  • 什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定...
    码道功臣阅读 6,062评论 2 79
  • 什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定...
    zwb_jianshu阅读 689评论 0 1
  • 什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定...
    zwb_jianshu阅读 580评论 0 0
  • 人的行为不仅依赖于其动机,而且取决于他的习惯。透过一个细微的习惯,往往可以看出一个人的思想,作风,道德或...
    xsxian阅读 2,676评论 0 2