深入了解云服务中的容器技术与选择
1. 并发请求限制
负载均衡器会将传入的请求分发到可用的容器上。它通过并发请求限制来判断容器是否能接受新请求。可以将这个限制想象成每个容器的可用请求插槽数量,当容器处理请求时,会占用一个插槽。若容器没有可用插槽,负载均衡器不会再发送额外请求,每个容器的插槽数量设置被称为并发度。
若所有容器都没有空闲请求插槽,传入请求会暂时存于请求缓冲区,直到有插槽释放。若没有可用容器,请求会等待新容器准备好。
例如,部署一个并发度为 1 的服务,每个容器只有一个请求插槽,即每个请求能独占容器,这对 CPU 密集型工作负载很有用,部署命令如下:
gcloud run deploy hello \
--image [IMAGE-URL] \
--concurrency 1
并发度为 1 对于非线程安全、只能同时处理一个请求的应用也很有用。
2. 自动伸缩器
自动伸缩器会收集容器的指标,以确定处理请求所需的容器数量。它依据可用请求插槽数量行动,若插槽数量不足,会启动新容器(副本)以避免请求缓冲。
此外,自动伸缩器还会关注容器的 CPU 利用率。若容器 CPU 使用率高,即使还有足够请求插槽,它也可能决定添加容器,不过这通常是要避免的情况。
自动伸缩器会按需添加容器,直到达到最大限制,默认最大限制为 1000 个容器,该限制可调整。当达到最大限制,云服务会返回 HTTP 429 错误状态。要注意,云服务受数据中心可用容量限制,若需使用超过 1000 个容器,需申请配
超级会员免费看
订阅专栏 解锁全文
78

被折叠的 条评论
为什么被折叠?



