2015-03-08 56 views
1

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

I.当用户发布帖子时,帖子进入全球数据库,每个用户都订阅并收听,并且无论何时添加帖子,用户都会检查父母是否跟随父母的帖子,如果他们显示在他们的新闻源。

  • 这种方式似乎非常低效,但它是一种方式。

二,另一种方式是让每个用户拥有自己的“集线器”,或者每个用户只需订阅并听取用户集线器中的更改。

  • 这种方式似乎更好,但我将不得不在启动时进行for-loop并手动为每个用户订阅。这可能会导致启动时出现轻微延迟。

我在想,选项二将工作得最好,但我想知道如果任何人有任何建议如何完成此任务。或者,如果有一个标准的方式去解决这个问题。谢谢。

回答

0

看看reywood:publish-composite包。我在我的应用程序中做类似的事情,并且使用这个包实质上执行一个连接。在你的情况下,人跟随着人,所以当创建一个返回一个人关注的用户组的发布时,你可以同时返回他们所有帖子的联合。

+0

谢谢,这看起来正是我所需要的 – 2015-03-08 22:41:55

0

构建可伸缩饲料技术是一个相当难解决的问题。随着流星,它更加困难,因为MongoDB不适合存储关系数据,因为它是一个非关系数据库,创建发布“已连接”数据的发布并不简单。关于构建可扩展馈送技术的问题已经写了很多文章,您是否看到我的article将Meteor与Stream结合使用来构建满足您需求的解决方案?

另一种途径是使用开源框架为您的Feed技术创建后端。看看Stream-Framework,知识库自述文件还有一个关于构建可伸缩馈送技术的资源列表。