相关疑难解决方法(0)

Python 如何通过 Gunicorn 和 Kubernetes 进行扩展?

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

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

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

python flask gunicorn docker kubernetes

6
推荐指数
1
解决办法
2749
查看次数

标签 统计

docker ×1

flask ×1

gunicorn ×1

kubernetes ×1

python ×1