1  秒杀流程

   

 

 

   秒杀的业务特点:(1)有时间限制,秒杀开始时间和秒杀结束时间  (2)商品库存有限制,库存不可能是无限大小的  (3)并发量大

2  秒杀技术挑战

  1 对现有网站业务造成冲击 

     秒杀活动只是网站营销的一个附加活动,这个活动具有时间短,并发访问量大的特点,如果和网站原有应用部署在一起,必然会对现有业务造成冲击。

     解决方案:将秒杀系统独立部署,甚至使用独立域名

  2 采用传统的单体应用还是分布式服务架构

    单体应用扩展不灵活,采用分布式服务架构可以更加灵活的利用服务器资源

  3 高并发下的应用、数据库负载

    用户在秒杀开始前,通过不停刷新秒杀商品列表页面以保证不会错过秒杀,如果是访问数据库的话,必然造成数据库服务负载过大

    解决方案:秒杀商品列表页面静态化,(可以采用httpClient访问controller后,生成html文件)并缓存在CDN服务器上

  4 如何控制秒杀商品页面购买按钮的点亮和生成下单url地址

    通过jquery控制倒计时显示框,倒计时结束后将购买按钮点亮,同时通过ajax请求后台,动态生成下单url地址

  5 秒杀商品列表页面的动态更新

    由于项目采用分布式架构,这里采用quarz配置分布式定时任务,定时生成秒杀商品列表页面

  6 商品详情页面查询优化

    由于商品详情页面并发量大,可以采用redis作为一级缓存,ehcache作为二级缓存