feeds流系统设计方案

Posted 金浩志

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了feeds流系统设计方案相关的知识,希望对你有一定的参考价值。

前言

feeds流在互联网系统中应用的非常广泛,可以说是我们每天都要用到的,比如微信朋友圈、知乎、抖音微博等,动态以瀑布流的形式呈现,但凡带点社交功能,都会有feeds模块,这些feeds来源于用户的好友或者关注用户,构成我们的虚拟社交广场.

难点

用户量小,qps低的时候,怎么设计都可以,但是当用户上百万、千万级,如何保证以下几点:

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

读扩散和写扩散

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

读扩散:记录A与100个好友之间的好友关系,每次刷新朋友圈时,先去找到这一百个好友,然后拉取这一百个好友的动态,按照时间排序展示在朋友圈中;
写扩散:为A维护一个收件箱,A的好友每次发布动态时,都往这个收件箱中发送一条记录,A每次刷新朋友圈时,只需要从收件箱中拉取记录即可;
特征:
tobecontinue

以上是关于feeds流系统设计方案的主要内容,如果未能解决你的问题,请参考以下文章

系统设计考察点

Feed流

10-1 系统设计考点解析

10-1 系统设计考点解析

10-1 系统设计考点解析

常用限流方案的设计与实现