【问题标题】:The concept of creating a news feed创建新闻提要的概念
【发布时间】:2015-03-08 21:36:16
【问题描述】:

我目前正在将meteor.js 用于我正在构建的社交网络应用程序。目前,我正在努力寻找为我的用户设计新闻源的最佳方式。用户可以互相关注并创建理论上应该发给他们关注者的帖子。我提出了两个理论上可行的概念。

I. 当用户发布帖子时,帖子会进入每个用户订阅和收听的全局数据库,并且每当添加帖子时,用户都会检查父母是否正在关注帖子的父级,如果是,他们会将其显示到他们的新闻源中。

  • 这种方式看起来效率极低,但确实是一种方式。

II.另一种方式是让每个用户拥有自己的小“中心”,或者每个用户只需订阅并监听用户中心的变化。

  • 这种方式似乎更好,但我必须在启动时执行一个 for 循环并手动订阅每个用户。这可能会导致启动稍有延迟。

我认为选项二效果最好,但我想知道是否有人对如何完成此任务有任何建议。或者,如果有一个标准的方法来解决这个问题。谢谢。

【问题讨论】:

    标签: javascript node.js meteor social-networking


    【解决方案1】:

    查看reywood:publish-composite 包。我在我的应用程序中做类似的事情,并使用这个包来执行连接。在您的情况下,人们正在关注人们,因此在创建返回一个人关注的用户集的出版物时,您可以同时返回他们所有帖子的联合。

    【讨论】:

    • 谢谢,这看起来正是我所需要的
    【解决方案2】:

    构建可扩展的 Feed 技术是一个很难解决的问题。使用 Meteor 就更难了,因为 MongoDB 不适合存储关系数据,因为它是一个非关系数据库,并且创建发布“连接”数据的出版物并不简单。关于构建可扩展 Feed 技术的问题已经写了很多文章了,您是否看过我的 article 使用 Meteor 与 Stream 结合构建适合您需求的解决方案?

    另一种方法是使用开源框架为您的 Feed 技术创建后端。看看Stream-Framework,存储库的自述文件也有很多关于构建可扩展的提要技术的资源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-19
      相关资源
      最近更新 更多