【问题标题】:Instagram style news feed logicInstagram 风格的新闻提要逻辑
【发布时间】:2017-03-19 20:30:37
【问题描述】:

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

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

【问题讨论】:

  • 你好,马特,你找到解决办法了吗?或者你有没有得到任何与这个主题相关的信息?

标签: feed


【解决方案1】:

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

  1. Java、Spring MVC

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

  3. 用于 UI 的 JQuery 和 Bootstrap

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

以下是新闻源的逻辑:

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

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

  3. 当用户登录时,我们曾经查询给定用户的newFeeds_To_Be_Displayed并显示在屏幕上。

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

【讨论】:

  • 在浏览完当前内容后加载更多内容时,这种方法如何工作?此外,我正在寻找一种更简化的方法,我可以快速确定哪些帖子应该按时间顺序显示。这是要提取的大量数据,因此我想了解是否有一种很好的方法来组织这些数据以快速确定顺序
  • 如果你让这个 newsFeeds_To_Be 显示为一个 ArrayList,它将按时间顺序排列。此外,您可以显示单独的列表已读和未读 newsFeeds,每当 ui 拉取 unreadNewsFeeds 时,将该列表中的项目移动到 readNewsFeeds。批处理作业将在 UnreadnewsFeeds 中添加更多 newsFeeds。
猜你喜欢
  • 2011-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-24
  • 1970-01-01
  • 2015-11-25
  • 2019-12-12
相关资源
最近更新 更多