node.js和mongoDB中的社交网络开发

时间:2019-02-02 14:37:33

标签: node.js mongodb server architecture

我想了解以下内容,以便修复服务器体系结构并使其更加灵活。

  1. 将家庭供稿数据[ex:Facebook homeFeed]存储到变量中以供将来处理是否很好,或者只是获取与homeFeed相关的数据并处理在运行时需要做的所有事情。

    请注意,家庭供稿的数据集可以包含任何内容。 [尚未开发]

  2. 在任何给定时间对MongoDB的请求是否有限制,这会造成数据处理的延迟?

  3. node.js和MongoDB是社交网络开发的不错选择吗?

  4. 如果您了解与社交网络发展有关的任何知识,请分享其优缺点。

1 个答案:

答案 0 :(得分:1)

  

将家庭供稿数据[例如:Facebook homeFeed]存储到变量中以供将来处理,还是只获取与homeFeed相关的数据并处理在运行时需要完成的一切都是好事。

您可以(有时应该)为某些用户(例如最活跃的用户)预先计算家庭供稿数据。不过,您不会将其存储在变量中,而是使用Redis之类的东西来缓存

基于“请求”生成家庭供稿也是可能的,而且很好。

这两种方法都需要仔细考虑系统的体系结构,性能,可伸缩性,鲁棒性,容错性等等。

  

在任何给定时间向MongoDB请求是否有任何限制。哪些会造成数据处理延迟?

是的。 MongoDB实例(或任何其他数据库)的资源有限。有关如何大规模使用MongoDb的更多信息,请查看MongoDB的ShardingReplication文档。

  

node.js和MongoDB是社交网络开发的不错选择。

Node.js和MongoDb是快速原型制作的良好组合,您可以相当快速地提高生产率。您熟悉的任何语言在这里都是不错的选择,因为您的重点似乎是建筑。 Go,Java和PHP也是不错的选择。

在现实世界中,社交网络所使用的工具远不止于此。由于团队根据手头的任务使用各种编程语言,数据库和框架。