创建新闻提要的概念

The concept of creating a news feed

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

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

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

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

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

构建可扩展的提要技术是一个很难解决的问题。使用 Meteor 就更难了,因为 MongoDB 不适合存储关系数据,因为它是一个 non-relational 数据库,并且创建发布 'joined' 数据的出版物是'直截了当。关于构建可伸缩提要技术的问题已经写了很多文章,您是否看过我的 article 结合使用 Meteor 和 Stream 来构建适合您需求的解决方案?

另一种方法是使用 open-source 框架为您的提要技术创建后端。看看 Stream-Framework,存储库 README 也有大量关于构建可扩展提要技术的资源。