【问题标题】:High availability solution for NodeJS, Nginx and MongoDBNodeJS、Nginx 和 MongoDB 的高可用性解决方案
【发布时间】:2017-03-31 19:38:08
【问题描述】:

我需要在配置 nginx+nodejs+mongodb 方面更有经验的人的意见和最佳实践。

我正在开发基于 MongoDB 和 NodeJS 的自定义构建云应用程序。作为反向代理服务器,我使用的是 nginx,而对于管理 NodeJS,我使用的是 PM2。目前我有单独的服务器,一台用于 MongoDB 数据库,一台用于服务 API 应用程序(Nginx + NodeJS)。目前我使用的是 PM2,并设置 API 在 1 核 VPS 上作为集群运行。

将来我需要配置高可用性解决方案。关于数据库,我还没有使用任何复制或集群。我看到未来有很多潜在的事情需要优化,我相信使用这些技术实现 HA 并不难,但是有人可以说出他的意见以及我应该首先注意什么吗?我在配置 HA 方面没有太多经验,所以每个建议都是很好的建议。

谢谢

【问题讨论】:

    标签: node.js mongodb nginx high-availability pm2


    【解决方案1】:

    “我相信实现 HA 并不难……我没有太多配置 HA 的经验”

    有句老话,你应该永远不要说没有经验,但你认为这并不困难。你会在最糟糕的时候发现它有多难。

    如果您不知道该怎么做,那么没有人会在 Stack Overflow 上回答它,因为要获得所需的经验需要数年时间。使用可行的解决方案而不是重新发明自己的解决方案会更好。对于 Mongo,您可以使用 ComposemLab。对于 Node,您可以使用 HerokuAWS Elastic Beanstalk。对于静态资产,请使用 MaxCDNCloudflare。还有更多服务可供选择。

    当然,如果您自己可以比 Compose 和 Heroku 做得更好,那么一定要继续做。但是,如果您不这样做,那么如果您采用可行的解决方案,就会为自己省去很多麻烦。

    另一个优点是 Heroku 和 mLab 都为您提供免费计划,无需支付任何费用即可立即开始开发,但只要您的应用程序获得一些牵引力,您就可以在必要时开始大规模扩展它。

    即使您决定推出自己的解决方案,您仍然应该阅读所有这些和类似服务的文档,因为它们很好地解释了您将要实现的功能以及您将面临的问题。

    【讨论】:

    • 我明白你的意思,而且我知道我们在使用自定义架构时可能会遇到麻烦,但这就是我们所拥有的。我并不是说这一切都很容易实现,但我认为我们正在使用可靠且有前途的技术,并且能够轻松扩展。我不希望有人会告诉我一切,而只是寻找方向和最佳实践,仅此而已。
    猜你喜欢
    • 2011-08-09
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 2011-12-04
    相关资源
    最近更新 更多