我正在做一个部署在Kubernetes上的项目。该系统由多个微服务组成,其中一个微服务在通过HTTP请求时会进行4-5秒的高强度CPU工作。
我们所处的情况是,用户可能会在短时间内(可能在毫秒内)多次并发调用此端点。我担心的是,自动伸缩器不能足够快地启动新的pod来满足需求,并且多个请求将落在同一个pod上,从而导致每个HTTP请求的性能都很差。
在容器中运行的应用程序实际上会在每次请求时启动一个新进程。这意味着在处理多个请求时,应用程序能够利用多个内核。
所以问题是
有没有什么方法可以让自动缩放变得更快。是否在毫秒内响应?这个问题在其他项目中是如何解决的?
谢谢
发布于 2018-05-08 13:36:10
POD自动缩放基于一个名为heapster的工具从正在运行的POD中提取的指标。默认情况下,此工具每60秒抓取一次数据。此外,数据抓取需要大量的时间(秒)来完成( PODs越多,所需的时间就越长)。
也就是说,应该清楚的是,让自动缩放以您所要求的速度(毫秒)工作是不可行的。
您的“解决方案”是以合理的方式分配一定数量的PODs,这些PODs将能够在高峰时段维持您的流量。当然,当您在非高峰时段时,这是对系统资源的浪费。
https://stackoverflow.com/questions/50208650
复制相似问题