创建新闻提要的概念
The concept of creating a news feed
我目前正在使用 meteor.js 开发我正在构建的社交网络应用程序。目前,我正在努力寻找为我的用户设计新闻源的最佳方式。用户可以相互关注并创建 posts,理论上应该发给他们的关注者。我提出了两个理论上可行的概念。
I. 当用户发出 post 时,post 进入每个用户都订阅和收听的全局数据库,并且每当添加 post 后,用户会检查父级是否在关注 post 的父级,如果是,则将其显示在他们的新闻源上。
- 这种方式看起来效率低得可怕,但这是一种方式。
II. 另一种方式是让每个用户拥有自己的小 "hub" 或者每个用户只需订阅并监听用户中心的变化.
- 这种方式似乎更好,但我必须在启动时执行 for 循环并手动订阅每个用户。这可能会导致启动略有延迟。
我认为选项二效果最好,但我想知道是否有人对如何完成此任务有任何建议。或者如果有一个标准的方法来解决这个问题。谢谢。
查看 reywood:publish-composite 包。我在我的应用程序中做类似的事情,并使用这个包来执行连接。在您的情况下,人们正在关注人们,因此在创建一个 return 一个人正在关注的用户集的出版物时,您可以同时 return他们所有帖子的合并。
构建可扩展的提要技术是一个很难解决的问题。使用 Meteor 就更难了,因为 MongoDB 不适合存储关系数据,因为它是一个 non-relational 数据库,并且创建发布 'joined' 数据的出版物是'直截了当。关于构建可伸缩提要技术的问题已经写了很多文章,您是否看过我的 article 结合使用 Meteor 和 Stream 来构建适合您需求的解决方案?
另一种方法是使用 open-source 框架为您的提要技术创建后端。看看 Stream-Framework,存储库 README 也有大量关于构建可扩展提要技术的资源。
我目前正在使用 meteor.js 开发我正在构建的社交网络应用程序。目前,我正在努力寻找为我的用户设计新闻源的最佳方式。用户可以相互关注并创建 posts,理论上应该发给他们的关注者。我提出了两个理论上可行的概念。
I. 当用户发出 post 时,post 进入每个用户都订阅和收听的全局数据库,并且每当添加 post 后,用户会检查父级是否在关注 post 的父级,如果是,则将其显示在他们的新闻源上。
- 这种方式看起来效率低得可怕,但这是一种方式。
II. 另一种方式是让每个用户拥有自己的小 "hub" 或者每个用户只需订阅并监听用户中心的变化.
- 这种方式似乎更好,但我必须在启动时执行 for 循环并手动订阅每个用户。这可能会导致启动略有延迟。
我认为选项二效果最好,但我想知道是否有人对如何完成此任务有任何建议。或者如果有一个标准的方法来解决这个问题。谢谢。
查看 reywood:publish-composite 包。我在我的应用程序中做类似的事情,并使用这个包来执行连接。在您的情况下,人们正在关注人们,因此在创建一个 return 一个人正在关注的用户集的出版物时,您可以同时 return他们所有帖子的合并。
构建可扩展的提要技术是一个很难解决的问题。使用 Meteor 就更难了,因为 MongoDB 不适合存储关系数据,因为它是一个 non-relational 数据库,并且创建发布 'joined' 数据的出版物是'直截了当。关于构建可伸缩提要技术的问题已经写了很多文章,您是否看过我的 article 结合使用 Meteor 和 Stream 来构建适合您需求的解决方案?
另一种方法是使用 open-source 框架为您的提要技术创建后端。看看 Stream-Framework,存储库 README 也有大量关于构建可扩展提要技术的资源。