代码之家  ›  专栏  ›  技术社区  ›  danielo

Python如何与Gunicorn和Kubernetes一起伸缩?

  •  2
  • danielo  · 技术社区  · 6 年前

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

    1. 订阅关于ApacheKafka的大约20个不同主题。
    2. 将结果上载到关系数据库。

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

    1 回复  |  直到 6 年前
        1
  •  3
  •   Rico    6 年前

    HPA 水平吊舱自动定标器为您的工人。

    它将需要为 metrics API heapster 已经被否决支持 metrics server

    希望有帮助!