保存成功
保存失败,请重试
提交成功

实战:基于 RocketMQ 的电商高并发秒杀场景

作者/分享人:RocketMQ
RocketMQ是阿里巴巴在 2012 年开源的分布式消息中间件,2016 年捐赠给 Apache 软件基金会,并成为 Apache 的顶级项目。

“秒杀”这一业务场景在如今已经不是什么新鲜名词,它本质上属于短时突发性高并发访问问题,业务特点如下:

  1. 定时触发,流量在瞬间突增
  2. 秒杀请求中常常只有部分能够成功
  3. 秒杀商品数量往往有限,不能超卖,但能接受少卖
  4. 不要求立即返回真实下单结果

秒杀场景下,短时突发大流量的访问很容易对系统造成较大的访问压力,因此我们需要采取一定的措施对系统进行改造或者定制。

解决的思路就是“异步化”。而 RocketMQ 恰恰是实现业务异步化、削峰填谷的利器。

本篇 Chat 就是围绕高并发秒杀的实战场景,通过图解、编码、案例分析等方式对 RocketMQ 如何在实战中落地做一个较为详细的讲解。主要内容如下:

  1. 了解“秒杀”业务的特点;
  2. 学习“秒杀”业务的流程;
  3. 分析“秒杀”业务的解决方案;
  4. 使用 RocketMQ 进行“秒杀”收单;
  5. 使用 RocketMQ 进行“秒杀”发单;
  6. 自定义消息协议;
  7. RocketMQ 集群搭建及管控台 console 的使用等。

作者介绍:

李伟,Apache RocketMQ 北京社区联合发起人, RocketMQ 社区 Python 客户端负责人。对分布式系统设计和研发有丰富经验,对消息队列有深刻理解。目前在VIPKIP担任架构师,负责 VIPKID 消息平台的探索、研发和创新。

武文良,Apache RocketMQ 社区核心贡献者,高阳捷迅后端高级工程师。在电商充值、支付等核心交易链路研发经验丰富,尤其擅长商品秒杀等高并发场景系统设计与开发。

已有559人预订
预订达标
文章出炉
交流日期
     
19.07.05
19.07.19
19.07.26 20:00
查看文章评论/提问
SnoWalker4 个月前
@postconstruct优先级高于initiallingbean
沐风6 个月前
[重要的,InitializingBean 调用优先级要高于 init 方法(@PostConstruct),而且如果调用 afterPropertiesSet 方法时出错会直接抛出异常,不会再调用init方法。] ----------------------- @PostConstruct标注的方法 是在 afterPropertiesSet 前。
sevenjin🐬6 个月前
数据库减了库存之后,没有做redis更新吗?怎么保证数据库减库存的一致性的?
sevenjin🐬6 个月前
源码地址无法访问?
Nirvana6 个月前
秒杀成功是提醒用户排队中,然后等真正下单成功,用户才知道自己有没有秒杀成功,这并不能体现“异步”,本质还是同步。
你可能还喜欢
程序员最好掌握的两个思维模式
杨老师
Java 集合底层原理剖析(List、Set、Map、Queue)
老牛
Vue 一步一步搭建企业级后台管理系统
一只帅帅的猿
基于 Spring Boot 的线程池最佳实践
古拉里
Spring Boot 面试指南(50 题)
axiya
使用 Vue.js + ElementUI 搭建自己的后台管理系统
_zw@huang
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
入群与作者交流×
扫码后回复关键字 入群
Chat·作者交流群
入群码
该二维码永久有效