【发布时间】:2021-06-01 21:10:58
【问题描述】:
我有想要服务的基于 python 的机器学习模型。根据我的研究,两个最受欢迎的选项如下:
I. Flask + uWSGI
II. FastAPI + Uvicorn with Gunicorn
除此之外,我们还可以将 Nginx 作为反向代理(负载平衡、缓存、安全等):
I. Flask + uWSGI + Nginx
II. FastAPI + Uvicorn/Gunicorn + Nginx
我的问题:
-
除此之外我还需要使用 Traefik 吗?还是我需要改变 使用 Traefik 的 Nginx?
-
如果我有一个只接受 POST 请求的应用程序,我会 仍然需要在 Flask + uWSGI 之上使用 Nginx 和/或 Traefik(或 FastAPI + Uvicorn/Gunicorn)?
-
如果我将使用 Tensorflow Serving 或其他 ML 服务解决方案 (Kubeflow、MLflow、Seldon 等)还是建议总结一下 Tensorflow Serving into FastAPI + Uvicorn/Gunicorn + Nginx 或/和 特雷菲克?
附:我正计划使用 Docker 来处理应用程序,并在生产中使用 Swarm 或 Kubernetes。
【问题讨论】:
-
1:根据您在此处描述的内容,Traefik 将具有与 Nginx 相同的角色——2 和 3:它主要取决于您的部署限制和需求——哪种环境,它只是一个 API ?您有要提供的静态文件吗?但 IMO 你不需要 Nginx/Traefik
-
@Julian 我有一个只有 API 的应用程序和另一个 API + 静态文件服务
标签: nginx machine-learning traefik tensorflow-serving fastapi