NodeJS AWS的部署容量规划

时间:2018-01-29 10:00:41

标签: mysql node.js amazon-web-services amazon-ec2 rabbitmq

我正在研究NodeJS部署选项,我正在考虑使用AWS,但我似乎也没有掌握定价以及如何进行部署。我目前的解决方案包括Express,以及几个独立的节点模块,RabbitMQ和MySQL DB。目前我并不期望在应用程序上加载大量典型的企业Web应用程序。如果说我要估计它的要求,我会说我需要4-8个CPU核心和8-16GB用于应用服务器,同样用于MySQL服务器,16-24 GB RAM,总存储量约为2 TB。

有人可以告诉我哪些实例类型对我的要求更好,我是否需要为App Server,DB Server等单独的实例,或者我可以在同一个实例上设置它?其次,如果将来需要扩展需求是多么容易,我可以轻松切换实例类型并增加内存,CPU,存储等吗?

定价如何运作的另一个方面是,它会在请求到达云后计算它消耗了多少资源,或者即使没有请求进入也会收费?

请记住,我没有使用AWS的经验,我只是想将其用作托管网站。你有什么建议。

由于

1 个答案:

答案 0 :(得分:0)

您有几个问题,其中许多问题无法解决,因为我们不知道您的应用程序资源需求是什么

  

有人可以告诉我哪些实例类型更符合我的要求

不是真的。如果您知道哪些服务需要更多CPU而不是更多RAM,您可以查看instance descriptions以查看哪种类型最适合您(有些针对CPU进行了优化,有些针对磁盘进行了优化,有些针对RAM进行了优化等) 。最终,这是您可以决定的事情(除非您有可以与我们分享的负载测试指标)。

  

我是否需要为App Server,DB Server等单独的实例,或者我可以在同一个实例上设置它?

你可以通过桌面做任何你想做的事情 - 它是一个成熟的操作系统,唯一的区别是你必须明确配置它周围的网络(谁可以访问你的主机,在哪些端口,等等。 )。虽然建议拥有多台主机是合理的,但如果你刚开始只是测试,那么现在你可以在一台主机上启动所有内容并没有什么不妥。

  

在未来需求出现时,如何轻松扩展需求,我可以轻松切换实例类型并增加内存,CPU,存储等吗?

容易是相对的。您绝对可以启动更多实例,但这些实例如何使用您的应用程序扩展 是完全不同的。您的应用程序迁移到新硬件有多容易?你能在多个箱子前面放一个负载平衡器吗?这些是您需要考虑的问题。

值得注意的是,您无法使用其他资源(存储除外)升级现有计算机。如果您需要更多CPU,更多内存,更多带宽,那么它就是一种新的实例类型。

  

定价如何运作,是否会在请求到达云后进行计算以及它消耗了多少资源,或者即使没有请求进入,我仍会收费?

亚马逊有a pretty robust pricing description你应该过去。

对于基本实例:

定价是每个实例消耗的每个实例小时,从实例启动到终止或停止。消耗的每个部分实例小时将按整个小时或每秒计费,具体取决于您运行的Amazon EC2实例。

但您还必须考虑数据速率(在同一页面上)以及存储成本。

希望这有帮助。