AWS Fargate运行Express应用的CPU消耗、计费及无服务器实现疑问
问题解答
1. 当前容器是否处于运行并等待请求的状态?
是的。你的Node.js Express应用属于长期运行的服务,启动后会持续监听80端口,容器会保持运行状态等待外部请求,只有手动停止容器或应用出现崩溃等异常时才会退出。
2. 是否会消耗CPU并持续付费?
会的。Fargate的计费依据是你为任务配置的CPU和内存规格,只要容器处于运行状态,哪怕没有请求进来、CPU使用率极低,也会按照你设定的资源规格持续产生费用。比如你配置了0.5vCPU和1GB内存,就算容器 idle 时CPU使用率只有1%,也会按0.5vCPU的标准计费。
3. 必须做单请求退出的镜像才算真正的无服务器架构?
完全不需要。无服务器架构的核心是无需管理底层服务器/容器的基础设施、支持按需弹性伸缩,Fargate本身就是AWS的无服务器容器服务,完全符合无服务器的定义。
那种处理单个请求就退出的模式(比如Lambda的执行模型)只是无服务器的一种实现方式,适合短时长、低频次的请求场景;而Fargate的长期运行模式,更适合需要持续监听连接(比如WebSocket服务)、有高并发或频繁请求的业务场景,两者都是无服务器架构的组成部分,没有谁比谁“更正宗”。如果你的业务确实需要按单个请求计费,可以考虑迁移到Lambda,但这不是硬性要求,完全取决于你的业务需求。
内容的提问来源于stack exchange,提问作者guerk
相关产品推荐
相关产品推荐

