【问题标题】:How to handle the load spikes and queue the requests?如何处理负载峰值并将请求排队?
【发布时间】:2016-09-07 12:42:09
【问题描述】:

在 Kubernetes 中是否有一个配置,我可以在其中指定在生成新实例之前排队的最小请求数?

这是上下文:我们为我们的用例设置了强大的高 CPU 机器,每个请求都会在服务器上产生大量负载。一切都很完美,直到我们达到特定的数字,比如说...... 300 个请求,加速时间为 100 毫秒。从那时起,我们会在一段时间内收到 Connection refused 错误,然后一旦产生新机器,服务器就会开始处理它们。处理负载峰值的最佳方法是什么?我正在应用程序引擎中寻找类似“等待延迟”的配置。我的应用程序部署在 Google 计算引擎上并由 Kubernetes 编排。

【问题讨论】:

    标签: google-compute-engine kubernetes google-cloud-platform


    【解决方案1】:

    您可以使用readinessProbe(请参阅container probes)指示容器已准备好为请求提供服务,并使用HorizontalPodAutoscaler 根据观察到的 CPU 利用率自动扩展/缩减您的应用程序。希望这会有所帮助。

    【讨论】:

    • 如果我想在探测成功后才开始向 Pod 发送流量,我会指定一个 ReadinessProbe。如果探测失败并且其他现有 pod 无法处理更多请求怎么办?有一个地方,一些队列必须发挥它的作用来处理所有的请求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-08
    • 1970-01-01
    • 2020-03-29
    相关资源
    最近更新 更多