gpt4 book ai didi

python - Python 如何使用 Gunicorn 和 Kubernetes 进行扩展?

转载 作者:太空宇宙 更新时间:2023-11-03 15:41:08 30 4
gpt4 key购买 nike

我将使用 Gunicorn 和 Gevent/Eventlet 作为异步工作程序,在 Kubernetes 上部署带有 Docker 的 Python Flask 服务器。该应用程序将:

  1. 订阅关于 Apache Kafka 的大约 20 个不同主题。
  2. 使用该数据对一些机器学习模型进行评分。
  3. 将结果上传到关系数据库。

Kafka 中的每个主题每分钟将收到 1 条消息,因此应用程序每分钟需要从 Kafka 接收大约 20 条消息。对于每条消息,处理和执行大约需要 45 秒。问题是我如何才能很好地扩展它?我知道我可以在 Gunicorn 中添加多个 worker,并在我部署到 Kubernetes 时使用 pod 的多个副本。但这就够了吗?工作负载是否会在不同 pod 中的可用 worker 之间自动平衡?或者我可以做些什么来确保可扩展性?

最佳答案

我建议您设置一个 HPA适用于您的工作人员的水平 Pod 自动缩放器。

需要设置对 metrics API 的支持.对于更高版本的 Kubernetes 的自定义指标 heapster已弃用 metrics server

如果您使用 AWS、GCP 或 Azure 等公共(public)云,我还建议您设置一个自动缩放组,以便您可以根据 CPU 平均利用率等指标缩放您的虚拟机或服务器。

希望对您有所帮助!

关于python - Python 如何使用 Gunicorn 和 Kubernetes 进行扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52458393/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com