关于双11的故事手机直播

手机直播互动点赞

  • PV: 
    就是计数器加一操作
    另外如果在加上两个业务场景那?
    1) 高并发,海量请求,至少千万
    2) 实时性

都能想到的技术方案大概估计有db, 缓存,分布式集群。
 如果都用内存的分布式集群来顶这些压力,可靠性还是差点. 有数据丢失怎么办那? 那如果用db+cache那,应该的这样做,数据需要可靠的存储。
 那是不是可以这样那:
  1) 用户会hash到集群的不同节点;
  2) 每个节点内存只保存固定时间的数据,然后有另外线程异步把这些固定时间内的数据持久化到db. 这样是不是可以不使用太大的内存,也不至于丢失所有的数据. 那这个固定的时间越短,那么可能丢失的数据就越少.

  • 排行榜:
     可以用redis提供的zadd来实现,这个针对并发小,数据量少的请求的场景还不错,但是针对像双11这样海量的请求的场景恐怕满足不了,QPS,ZADD KEY的热点问题,以及成本问题。
     是不是还可以像pv那样的思路,维护一个单机的排行,然后整个集群请求的排行是对所有单机请求的一个merge. 单机版的排序需要一个高效的数据结构,高并发下线程安全,可以自动排序等.

你可能感兴趣的:(关于双11的故事手机直播)