秒杀系统设计
zzy9607
这个作者很懒,什么都没留下…
展开
-
二八原则
二八原则热点操作和热点数据热点操作:如大量的刷新页面,大量添加购物车,双十一零点大量下单等等。优化的思路是根据CAP做平衡。热点数据:热点请求对应的数据发现热点数据提前标记:例如秒杀前卖家把秒杀商品提前标记。动态发现:实时监测访问量最高的topn商品。处理热点数据优化:将热点数据进行临时缓存限制:保护其他数据的访问,不被热点数据占用过多资源,可以将被访问的所有商品做一致性hash,分桶,再在每个桶上设置一个处理队列,把热点数据限制在一个队列里。隔离:将热点数据隔离出来,原创 2020-08-01 17:52:08 · 333 阅读 · 0 评论 -
架构设计(动静分离)
架构设计(重点)把秒杀系统独立出来单独打造一个系统,这样可以有针对性地做优化,例如这个独立出来的系统就减少了店铺装修的功能,减少了页面的复杂度;在系统部署上也独立做一个机器集群,这样秒杀的大流量就不会影响到正常的商品购买集群的机器负载;将热点数据(如库存数据)单独放到一个缓存系统中,以提高“读性能”;增加秒杀答题,防止有秒杀器抢单。进一步的完善:对页面进行彻底的动静分离,使得用户秒杀时不需要刷新整个页面,而只需要点击抢宝按钮,借此把页面刷新的数据降到最少;在服原创 2020-08-01 17:48:16 · 511 阅读 · 0 评论 -
如何设计一个秒杀系统和架构原则
如何设计一个秒杀系统主要解决两个问题:一个是并发读,一个是并发写并发读:并发读的核心优化理念是尽量减少用户到服务端来“读”数据,或者让他们读更少的数据;并发写的处理原则也一样,它要求我们在数据库层面独立出来一个库,做特殊的处理。遵循的原则:保证用户请求的数据尽量少、请求数尽量少、路径尽量短、依赖尽量少,并且不要有单点。高性能。 秒杀涉及大量的并发读和并发写,因此支持高并发访问这点非常关键。本专栏将从设计数据的动静分离方案、热点的发现与隔离、请求的削峰与分层过滤、服务端的极致优化这 4 个方原创 2020-08-01 17:45:40 · 227 阅读 · 0 评论