乐趣区

关于hbase:feeds流系统设计方案

前言

feeds 流在互联网零碎中利用的十分宽泛, 能够说是咱们每天都要用到的, 比方微信朋友圈、知乎、抖音微博等, 动静以瀑布流的模式出现, 凡是带点社交性能, 都会有 feeds 模块, 这些 feeds 来源于用户的好友或者关注用户, 形成咱们的虚构社交广场.

难点

用户量小,qps 低的时候, 怎么设计都能够, 然而当用户上百万、千万级, 如何保障以下几点:

  • 存储怎么选, 用户关系和 feeds 又怎么存?
  • 如何提供可能稳固扛住上百万级 qps 流量的服务?
  • 如何保障时延稳固在不影响用户体验的范畴内?

读扩散和写扩散

某个用户公布了一条 feed, 如果扩散到好友的社交圈中, 比方在朋友圈中,A 发了一条朋友圈, 如何让 B 看到, 常见的扩散形式包含两种. 这里以朋友圈为例, 用户 A 有一百个微信好友;

读扩散: 记录 A 与 100 个好友之间的好友关系, 每次刷新朋友圈时, 先去找到这一百个好友, 而后拉取这一百个好友的动静, 依照工夫排序展现在朋友圈中;
写扩散: 为 A 保护一个收件箱,A 的好友每次公布动静时, 都往这个收件箱中发送一条记录,A 每次刷新朋友圈时, 只须要从收件箱中拉取记录即可;
特色:
tobecontinue

退出移动版