mysql - AWS 的 NodeJS 部署容量规划

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

我正在研究 NodeJS 部署选项,我正在考虑使用 AWS,但我似乎不了解定价以及如何进行部署。我当前的解决方案包括 Express,以及几个独立的 Node 模块、RabbitMQ 和 MySQL DB。目前,我并不期望应用程序的负载很大,这只是典型的企业 Web 应用程序。如果说我要估计它的需求,我会说我将需要 4-8 个 CPU 内核和 8-16GB 的应用程序服务器,同样需要 16-24GB RAM 和大约 2TB 总存储空间的 MySQL 服务器。

有人能告诉我哪种实例类型更适合我的要求吗?我是否需要应用服务器、数据库服务器等单独的实例,或者我可以在同一个实例上设置它们?其次,如果 future 出现需求,扩展需求有多容易?我可以轻松切换实例类型并增加内存、CPU、存储等吗?

另外一个问题是定价如何运作,它会在请求到达云端后计算吗?它消耗了多少资源,或者即使没有请求进来我仍然要收费吗?

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

谢谢

最佳答案

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

Can someone tell me what instance types would be better for my requirements

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

will I require separate instances for App Server, DB Server etc or I can setup it on the same instance?

您可以在桌面上做任何您通常会做的事情——它是一个成熟的操作系统,唯一的区别是您必须明确地配置它周围的网络(谁可以访问您的主机,在什么端口上,等等)。虽然拥有多个主机是明智的,但如果您一开始只是进行测试,那么暂时在单个主机上启动所有内容并没有什么错,同时您还未涉足。

how easy will it to scale the requirements if future needs arise, can I switch the instance type and increase memory, CPU, storage etc easily?

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

值得注意的是,您不能使用额外资源(存储除外)升级现有机器。如果您需要更多 CPU、更多内存、更多带宽,这是一种新的实例类型。

how pricing works, will it calculate after the request comes to the cloud and how much resources did it consume or will I still gets charged even if no requests are coming in?

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

对于基础实例:

定价是按每个实例消耗的实例小时计算的,从实例启动到终止或停止。根据您运行的 Amazon EC2 实例,每个消耗的部分实例小时将按完整小时或每秒计费。

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

希望这对您有所帮助。

关于mysql - AWS 的 NodeJS 部署容量规划,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48498584/

相关文章:

mysql按总和和最好成绩排名

MySQL 语法错误 #1064

php - Mysql fetch - 带有 HTML 链接的结果指向表 ID

javascript - Electron 中自定义 HTML 对话框的问题

node.js - 在 node + Mongodb + Redis 中构建一个简单的新闻提要

php - 如何在不更改 max_allowed_pa​​cket 的情况下将大数据插入 MySQL 数据库

javascript - TypeScript 编译上下文中包含 app.component.ts 的错误

Laravel:使用 Bref 在 AWS Lambda 上出现 Imagick 和 GD 错误

amazon-web-services - AWS Lambda - 什么是在 CI/CD 管道中对 lambda 进行版本控制和提升的最佳实践

amazon-web-services - AWS - 无法删除安全组