开发者社区> 问答> 正文

设计秒杀系统的关键点是哪些?

设计秒杀系统的关键点是哪些?

展开
收起
游客zvexcvxjsyxmm 2022-03-29 15:12:27 322 0
来自:大淘宝技术
1 条回答
写回答
取消 提交回答
  • (1)限流 由于活动库存量一般都是很少,对应的只有少部分用户才能秒杀成功。所以我们需要限制大部分用户流量,只准少量用户流量进入后端服务器。 (2)削峰 秒杀开始的那一瞬间,会有大量用户冲击进来,所以在开始时候会有一个瞬间流量峰值。如何把瞬间的流量峰值变得更平缓,是能否成功设计好秒杀系统的关键因素。实现流量削峰填谷,一般的采用缓存和 MQ 中间件来解 决。 (3)异步 秒杀其实可以当做高并发系统来处理,在这个时候,可以考虑从业务上做兼容,将同步的业务,设计成异步处理的任务,提高网站的整体可用性。 (4)缓存 秒杀系统的瓶颈主要体现在下订单、扣减库存流程中。在这些流程中主要用到 OLTP 的数据库,类似MySQL、Oracle。由于数据库底层采用 B+ 树的储存结构,对应我们随机写入与读取的效率,相对较低。如果我们把部分业务逻辑迁移到内存的缓存或者 Redis 中,会极大的提高并发效率。答复内容摘自《2021技术人的百宝黑皮书》,这本电子书收录开发者藏经阁 下载连接:https://developer.aliyun.com/ebook/download/7436

    2022-03-29 23:39:22
    赞同 展开评论 打赏
问答地址:
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
利用 Poplayer 在手淘中实现稳定业务和临时业务分离 立即下载
利用Poplayer在手淘中实现稳定业务和临时业务分离 立即下载
核心:线下支付技术集成关键点 立即下载