削峰填谷

最近更新时间:2017-04-25 11:44:17

某电商网站新手机发布在即,拥有预约码的用户可优先购买手机。预约方式为:注册账户即可获得预约码,预计预约用户超过1000万。

像双11秒杀、手机预约抢购等对 IO 时延敏感业务环境下,当外部请求超过系统处理能力时,如果系统没有做相应保护,可能由于历史累计的超时请求负荷过多而导致系统处理的每个请求都因超时而无效,系统对外呈现的服务能力为 0,且这种情况下服务不能自动恢复。

这种情形下,引入腾讯云消息中间件 CMQ,将非即时处理的业务逻辑进行异步化。比如服务接收请求、处理请求和返回请求三个不同的业务逻辑。

引入 CMQ 后,当预约活动开始时,海量并发访问汹涌袭来:

  • 所有客户的预约申请,页面均立即返回成功。客户便可关闭网页进行其他活动。预约码稍后推送到客户的邮箱/手机;
  • 超过千万级别的注册、预约申请,先暂存在腾讯云 CMQ 消息队列集群;
  • 后端服务进行处理,按照数据库实际的select、insert、update能力处理注册、预约申请;
  • 处理成功后返回结果给用户。预约结束后,用户大约在5-30min内,都收到了预约码。