【问题标题】:How do I make NodeJS applications scalable如何使 NodeJS 应用程序可扩展
【发布时间】:2018-06-07 13:58:16
【问题描述】:

我正在使用 express、mongo db、socket io 在 NodeJS 中设计一个聊天应用程序。在为这个应用程序设计架构时,我应该关注哪些方面。此应用程序的目标受众将是同时使用它的超过 50K 用户。

在我的职业生涯中,我曾设计过最多可供 2k 最终用户使用的应用程序。但这对我来说是新事物。我对此做了很多研究,得出了以下几点。

1- 开始使用 RabbitMQ 等队列服务
2- 随着使用量的增加,增加您的服务器空间/内存。

有人能指点我写一本关于 NodeJS 架构模式和可扩展性的书吗?非常感谢您提供指南,了解任何类型的帮助。

【问题讨论】:

    标签: node.js mongodb express architecture restful-architecture


    【解决方案1】:

    这里有一些提示:

    您应该查看Cluster module,您也可以使用wrk 进行HTTP 基准测试。

    确保使用缓存。

    如果你使用 Docker,你应该使用swarm mode。

    使用 Amazon Elastic https://aws.amazon.com/ec2/

    【讨论】:

    • 只是一点点补充——在处理多个实例时,您需要考虑如何处理会话管理——因此如果负载均衡器将流量重定向到其他工作人员,他们可能可以访问会话。我正在使用存储在 Redis 中的会话 - 像魅力一样工作 - 你可以使用包 express-session 和 connect-redis。
    • 感谢您的反馈。我很感激。
    猜你喜欢
    • 2015-05-23
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-25
    • 1970-01-01
    • 2015-04-21
    相关资源
    最近更新 更多