创建新闻Feed的概念

时间:2015-03-08 21:36:17

标签: javascript node.js meteor social-networking

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

我。当用户发帖时,帖子会进入全局数据库,每个用户都会订阅和收听该帖子,每当添加帖子时,用户都会检查父级是否有跟随帖子的父母,如果他们是,他们将它显示在他们的新闻源上。

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

II。另一种方式是每个用户拥有自己的小型集线器"或者每个用户只需订阅并监听用户中心的变化。

  • 这种方式似乎更好但我必须在启动时进行for循环并手动订阅每个用户。这可能会导致启动时出现轻微延迟。

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

2 个答案:

答案 0 :(得分:0)

查看reywood:publish-composite包。我在我的应用程序中做了类似的事情,并且正在使用此程序包实质上执行连接。在您的情况下,人们关注人,因此在创建一个返回一个人关注的用户集的发布时,您可以同时返回所有帖子的并集。

答案 1 :(得分:0)

构建可扩展的Feed技术是一个非常难以解决的问题。使用Meteor更加困难,因为MongoDB不能很好地存储关系数据,因为它是一个非关系型数据库,并创建了发布和加入的出版物。数据并不简单。关于构建可扩展的feed技术的问题已经写了很多文章,你看过我的article使用Meteor和Stream结合起来构建一个适合你需求的解决方案吗?

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