Node.js 针对NodeJS、Nginx和MongoDB的高可用性解决方案

Node.js 针对NodeJS、Nginx和MongoDB的高可用性解决方案,node.js,mongodb,nginx,high-availability,pm2,Node.js,Mongodb,Nginx,High Availability,Pm2,我需要在配置nginx+nodejs+mongodb方面更有经验的人提供意见和最佳实践 我正在开发基于MongoDB和NodeJS的定制云应用程序。作为反向代理服务器,我使用nginx,对于managenodejs,我使用PM2。目前我有单独的服务器,一个用于MongoDB数据库,另一个用于服务API应用程序(Nginx+NodeJS)。现在我使用的是PM2,我设置API在单核VPS上作为集群运行 将来我将需要配置高可用性解决方案。关于数据库,我还没有使用任何复制或集群。我看到了很多未来需要优化

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

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

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

谢谢

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

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

如果你不知道怎么做,那么没有人会在堆栈溢出时回答这个问题,因为要获得所需的经验需要几年的时间。你最好使用有效的解决方案,而不是重新发明自己的解决方案。对于Mongo,您可以使用或。对于节点,可以使用或。用于静态资产使用或维护。有更多的服务可供选择

当然,如果你自己能做得更好的话,那就创作和Heroku吧,那就千方百计去做吧。但是如果你不这样做,那么如果你使用一个有效的解决方案,你将为自己节省很多麻烦

另一个好处是Heroku和mLab都为您提供了免费的计划,让您可以立即开始开发,而无需支付任何费用,但一旦您的应用程序获得了一定的吸引力,您就可以开始大规模扩展它(如果必须的话)


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

我明白您的意思,我知道定制架构可能会遇到一些麻烦,但这正是我们所面临的。我并不是说这一切都很容易实现,但我认为我们正在使用可靠且有前途的技术,这些技术具有易于扩展的能力。我不期望有人会告诉我一切,只是寻找方向和最佳实践,没有其他。