秒杀系统----热点/秒杀商品如何处理?

1.关于热点商品?

对于热点商品的话,要实时监控。你知道哪些秒杀的商品就是热点商品,但是系统它并不知道呀。多以要想办法告诉它。

对于静态热点数据:以往有两种方式

  • 卖家报名的方式,提前把热点商品筛选出来,然后通过后台系统,对这些商品进行打标,但是这也有一个弊端,就是增加卖家的使用成本,实时性太差,不灵活
  • 进行数据分析,通过技术手段提前预测,统计出排名多少的商品,然后这些排名较前的商品就是热点商品。

对于动态热点数据有以下方案:

  • 构建异步系统,使用一些本身就具备热点统计模块的中间件,例如(nginx、缓存、rpc),借助工具统计。
  • 建立一个热点上报和热点下发服务机制,主要通过交易链路上各系统之间的时间差,例如(详情页,购物车、订单、优惠、库存、物流等),一般都会是详情系统先知道,就知道哪些数据是频繁被调用的,下发到其他系统,然后把这些数据当成重点热点数据,保护起来。
  • 热点数据要接近实时(3秒内完成热点数据的发现),因为只有做到实时,才能实时的对下游系统提供保护。
6,热点数据如何处理?
**总结三点:优化、限制、隔离**

优化:不管是静态数据还是动态数据,都只是“短暂”缓存,多以把它们放入一个队列中,淘汰机制使用LRU(least recently used)页面置换算法,页面最少使用量规则解决。

限制:把被访问的热点商品做一致性hash,根据hash做分桶,每个分桶都设置一个队列,这样可以防止某些热点商品占用太多服务器资源,而使其他请求得不到服务器的处理。

隔离:将热点数据隔离出来,不要让0.1%的数据影响到其他99.9%的数据。隔离出来,也是为了优化。

实现隔离的方式?
1,把秒杀做成一种营销活动。卖家提前报名的方式,相当与可以提前知道哪些是热点数据,就可以提前预热。
2,系统隔离,系统隔离更多的是运行时隔离,可以通过分组部署的方式把热点数据和另外99%分开。
3,数据隔离:可以启用单独的cache集群或者mysql存放。


可参考:
https://blog.csdn.net/u014231523/article/details/82990269

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值