首页 存档 技术 查看内容

处理秒杀活动的解决方案

2018-3-30 13:00 |来自: 互联网 481 0

摘要: 【今日话题】 处理秒杀活动的解决方案 1、1限流,2库存放在缓存中,分散到N台机器,分散压力 3 每台机器使用concurrentHashmap,4 抢中后,放入队列,异步处理 某台机器挂掉,只影响一部分,不会超发 - 召阳 2、red ...

【今日话题】

处理秒杀活动的解决方案

1、1限流,2库存放在缓存中,分散到N台机器,分散压力 3 每台机器使用concurrentHashmap,4 抢中后,放入队列,异步处理

某台机器挂掉,只影响一部分,不会超发 - 召阳

2、redis也不是万能灵药吧,怎么保证redis可靠性?如果是主从,考虑了延迟造成的数据不一致吗?redis存不下怎么办?redis怎么落地? - tiyee

3、库存预分配。集中处理肯定出问题 - sky

4、秒杀时,总量是确定的,redis容量应该可预估 - 召阳

5、主从? - 菜鸟

6、可以集群,每个节点主从 - 召阳

7、一般先保证容量够存 - 菜鸟

8、我觉得数据一致性这个问题,没必要时刻一致。除非库存是个位数 - sky

9、秒杀也不是只存商品信息啊,用户信息怎么存?怎么保证用户信息跟队列里的用户标识是一致的?万一扛不住了,怎么降级处理?怎么记录日志?- tiyee

10、我们是写入文件中 - 召阳

11、那么写日志文件不就成了瓶颈了吗? - tiyee

12、日志也是异步写吗?- 菜鸟

13、当时怕给生产库造成压力,扔队列的同时,写入文件 - 召阳

14、我的意思是,搞技术不能大而化之,一体秒杀就抛个队列,抛个redis出来就完事了 - tiyee

15、最核心的肯定是redis队列, 要不容易超售, redis只存商品id。 没有单实例扛, 一主多从。 关键是抢, 抢到之后的记录不直接写库, 写异步消息。 - Orc_LaoT

16、redis挂了呢? - tiyee

17、这跟一说分布式存储有人就说一致性hash一样 - 随风而过

18、降级方案当时的设计是 mysql,mc 加锁,每次放多少人过来,先update 再select。当时还是申请的 ssd 的myslq,最后没有用上 - Orc_LaoT

19、一主多存在加redis的sentinel - 随风而过

20、秒杀主要是写,写的是master,再多从也没用 - tiyee

21、挂了自动选主吧 - 随风而过

22、写操作高的时候应该用啥呢 ? - Orc_LaoT

23、归并 - tiyee

24、缓存类的就知道 mc redis pika , mc不落地,pika 纯硬盘还是比 redis 差一点儿。  - Orc_LaoT 

25、redis如果数据多,挂了加载非常慢 - tiyee

26、比如秒杀场景 分多个实例分别存一部分商品? 用户来了随机分配?  这样多写? - Orc_LaoT

27、redis的话可以用Twemproxy/Codis方案,pre-sharding proxy haproxy - star

28、秒杀的应该数据量有限吧 要不也不叫秒杀了 ,方便说下归并么 或者给个再详细的关键字? 只知道归并排序 - Orc_LaoT

29 、@tiyee 你说的归并具体怎么应用到场景,数据结构是怎样。 - star

30、写入时分配数据标识,均衡或按特征写到不同的实例,后台再异步把实例统一起来,每个实例可以双写 - tiyee

31、实例统一起来 指的是? - Orc_LaoT

32、扫描,根据唯一标识,把数据统一起来 - tiyee

33、写入时分配数据标识,均衡或按特征写到不同的实例-

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部