Instagram风格的新闻提要逻辑



我正在制作一个涉及用户和新闻提要的社交应用程序。为了按时间顺序显示用户的新闻源,以下哪项更有意义?

  1. 获取该用户关注的每个用户的所有帖子,并按时间顺序对其进行排序
  2. 每次用户发帖时,将该 ID 和日期保存到每个 他们的关注者个人资料数据(似乎是多余的)
  3. 您可能知道的更好的解决方案

通常,社交网站是使用图形数据库构建的。我曾在其中一个社交网站上工作过。下面是显示新闻提要的技术堆栈和逻辑。

  1. Java, Spring MVC

  2. OrientDb - 包含与边连接的顶点的GraphDB

  3. JQuery & Bootstrap for UI

  4. Apache Solr-用于用户,文章的文本搜索

以下是新闻源的逻辑:

  1. 当任何用户执行任何活动时,我们过去常常创建包含的活动顶点 活动的元数据,如日期时间、活动类型和参与者等。

  2. 我们有一个批处理程序(每 3 分钟运行一次),它将对所有未处理的活动进行。批处理的责任是从活动生成新闻源,并将这些newFeeds_To_Be_Displayed分配给要在屏幕上显示的相关用户(即参与者的连接)新闻源

  3. 当用户登录时,我们习惯于查询给定用户的newFeeds_To_Be_Displayed并将其显示在屏幕上。

我们选择异步计算newFeeds_To_Be_Displayed,因为这是一个耗时的过程,我们不想以糟糕的用户体验告终。

最新更新