高并发 & 秒杀

通过使用数人云
可轻松应对秒杀等瞬时高并发业务。

免费咨询

问题和分析


电商秒杀是典型的互联网海量应用场景,对于IT基础架构、软件架构和运维能力都是严峻的考验。秒杀特点是大量用户在短时间内涌入,后台系统不但要保证在压力下不会瘫痪,还要保证高并发下抢购逻辑的正确性。

主要挑战体现在:

  • 网络:需要有足够的网络带宽容纳海量用户的访问
  • 安全:防止各种恶意攻击,例如 DDOS
  • 计算资源:要能够按需提供足够的计算资源,满足上层软件处理的需求
  • 软件架构:软件架构要能充分利用底层资源,容纳高并发的访问
  • 交易正确性:要保证交易的最终一致性,避免出现超购或者购买流程错误的情况
  • 监控和控制:要为商家提供足够的监控手段,同时在交易出现特定异常情况时,手动或者自动熔断核心要求底层资源调度和软件架构上要能提供足够的弹性,保证在高并发场景下系统容量能够横向扩展,取得最大的营销效果。同时要确保交易的安全和正确性,避免客户财产的损失。

解决方案


2016年初,数人云应某TOP 3视频网站的要求,以网络春晚抢红包为模拟业务场景,设计了基于公有云资源和数人云软件的解决联合方案。

核心红包处理系统,整体解决方案的设计思路如下:

利用公有云解决资源层弹性问题,提供近乎“无限”的网络带宽资源和计算资源软件架构上采用经典的分布式架构,承接用户访问压力的“等候领奖”组件无状态化,便于横向扩展。用户请求通过消息队列传递到后端发奖处理模块,实现“排队”领奖的异步逻辑。

数人云作为“中间件”层实现了处理能力随着压力不断平滑扩展,抗住了高并发。向下管理资源,将底层计算资源组成一个资源池。向上承载核心业务逻辑,实现了“等候领奖”等组件的横向扩展。

下列表格说明了资源方(公有云或者企业自建的私有云)和数人云秒杀平台之间的分工:

公有云私有云数人云秒杀
网 络动态带宽资源,CDN 承载静态页面预留足够带宽,CDN 承载静态页面无 关
安 全防 DDOS 服务第三方防 DDOS 服务应用本身能抗住较高并发
技术机资源云主机动态扩展虚拟机动态扩展将底层资源池化,承载核心应用
高并发处理逻辑无 关无 关等候页面无状态,通过横向扩展抗住高并发。等候和发奖模块之间异步排队,保证发奖逻辑正确
监控和熔断无 关无 关监控等候页面压力和发奖队列长度,提供预定义的熔断功能

数人云红包或者秒杀平台同客户自有系统对接有如下几种方式:

  • 客户可以直接在秒杀管理界面上传兑换码,则不需要接口级别对接。
  • 客户可以设置自己的支付跳转页面,数人云会将抢购成功用户引导跳转到客户的支付页面。

具体架构图如下: