AWS:启动启动服务器(Node.js + Postgres)
Posted
技术标签:
【中文标题】AWS:启动启动服务器(Node.js + Postgres)【英文标题】:AWS: Start-up launch servers (Node.js + Postgres) 【发布时间】:2020-11-10 09:18:24 【问题描述】:我们正准备启动我们的 ios 应用,我们的后端位于 Node.js
和 Postgres
数据库中。
我们计划使用Aurora Postgresql
进行存储(只有文字,没有图片)。
目前,我们有一个EC2
开发服务器t2.small
,我为36 months
(All upfront
) 预留了它,它运行良好。该服务器在Ubuntu
上兼作Node.js
+ Postgres
。
我们希望仅在北美(美国和加拿大)投入生产。我们现在有 0 个用户。如果我们能在接下来的 30-90 天内获得 10 个用户,我们将是幸运的。每个用户每周可以使用该应用两次,每次 5-10 分钟。
问题:我不确定我应该使用多大的服务器。我想省钱,乐意支付All Upfront
;但是,我不确定:
-
预订时我应该为
Node.js
使用多大的服务器和多少台服务器?
我应该为Aurora Postgres
保留多大的服务器和多少服务器。我们应该使用无服务器吗?
我应该多久备份一次我的数据库以及在此省钱的好做法。
我应该选择哪些地区?
【问题讨论】:
【参考方案1】:-
您可以从 t2.small 开始,然后 scale up 实例(如果它陷入困境)
由于您目前没有用户,并且只希望未来 10 个用户每周使用几分钟几次,我建议您使用无服务器(您必须选择 Postgres 10.7),将其设置为 @987654322 @,如果您的用例在用户第一次尝试访问数据库时可以容忍 30 秒(ish)的冷启动延迟。您可以通过在用户登录应用程序后立即向数据库发送一个空查询
";"
来预热数据库,这可能会使冷启动从用户的角度看不出来。如果您的用例不能容忍冷启动,您可以将它scale down 在不活动而不是暂停时设置为 1 ACU。
Aurora 无服务器自动执行每日备份,持续时间为 1 到 35 天,适合您的风险承受能力。
如果您的用户遍布美国和加拿大,请考虑将 us-east-2 作为(大部分)中心位置。
【讨论】:
谢谢!我认为我们不能容忍 30 岁左右的冷启动。客户端是 iOS,所以数据库应该一直可用。 有没有办法在让数据库始终可用的同时节省成本? @user1107173 在#2 中添加了一个句子,描述了一种在使数据库始终可用的同时最小化成本的方法。以上是关于AWS:启动启动服务器(Node.js + Postgres)的主要内容,如果未能解决你的问题,请参考以下文章
在 AWS ElasticBeanstalk 中启动 Node.js 容器的权限错误