我正在开发一个部署在Kubernetes上的项目。该系统由多个微服务组成,其中一个微服务通过HTTP请求时,可以在4-5秒内完成强大的CPU工作。
我们处于这样一种情况:用户可能会在很短的时间内(可能在几毫秒内)同时多次调用此端点。我担心的是,自动缩放器无法足够快地启动新的pod以满足需求,并且多个请求将落在同一个pod上,导致每个HTTP请求的性能都很差。
在容器中运行的应用程序确实会在每个请求上启动一个新进程。这意味着在处理多个请求时,应用程序可以利用多个核心。
所以问题是
有没有办法让自动定标器快速闪亮,即。在毫秒内响应?这个问题在其他项目中是如何解决的?
由于
答案 0 :(得分:1)
POD自动调节基于通过名为heapster
的工具从正在运行的播客中删除的指标。默认情况下,此工具每60秒擦除一次数据。此外,数据抓取需要花费大量时间(秒)才能完成(POD越多,所需时间越长)。
尽管如此,应该清楚的是,以您所需的速度(毫秒)进行自动缩放是不可行的。
您所拥有的“解决方案”是分配一些能够以合理的方式在峰值期间维持您的流量的POD。当你处于非高峰时,这当然是浪费系统资源。