秒杀系统架构学习总结

许令波大神的秒杀系统架构设计是经过淘宝实战得出来的经验,值得大家去学习;但是我们不能简单的依葫芦画瓢,要理解他解决问题的方式,做到触类旁通的,这样才能极大的提升自己的能力。好的算法是基于实践的,好的架构是基于场景的,脱离了实际去谈架构就有些扯淡了。经典物理学是解决不了量子物理的问题的,所以在构建系统架构之前是要去分析场景的。

秒杀活动会带来什么问题或者痛点?秒杀意味着活动时间短,商品优惠度大有很多用户进行抢单,后果是造成服务器关于秒杀活动商品的请求短时间出现峰值。服务器必须在高流量下保证服务的可用性。初始阶段秒杀商品和普通商品一样是同一个系统处理,到了一定的并发量时系统支持不了了,这样不仅秒杀活动商品卖不了了可能普通商品也在这段时间卖不了了。高内聚低耦合是在设计过程中经常提到的原则,当商品升级为秒杀商品时它与普通商品是不一样的,这个时候将它分离出来进行针对性处理是一种正确的选择。分离以后秒杀就不会影响普通商品的一个正常买卖了;秒杀系统分离出来了,那么就可以进行针对性优化了,单独部署,上集群,上缓存,那么秒杀活动的资源更多了,能抗的并发量也就越强了。那么如何去防止商家的对手使用秒杀器这一类的进行抢单,破坏秒杀活动呢?机器是很难做出人的思维活动来的,设置秒杀题是一种不错的做法,记得12306是通过选择含有某种物品的图片防止抢单器的。一般情况到了这一步对于普通电商平台应该就够用了,抗不住了就多加点服务器。大型电商平台的流量峰值超过百万级别,这个时候需要对整个秒杀活动的过程做一个极致优化,尽量减少服务器的需求量了。第一点让数据量尽量少并且通过的服务节点尽可能地少,那么可以通过动静分离等手段进行处理;第二通过将请求尽可能少地访问服务器,可以通过分层过滤等手段;第三将高峰流量尽可能延缓处理,可以通过一个队列在一端承接瞬时的流量洪峰,在另一端平滑地将消息推送出去,12306的做法是有一个放票规则,以此来降低流量洪峰;第四对于峰值超过系统处理能力可以进行降级限流或者拒绝服务来处理;

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值