我正在使用Docker为以下各项创建容器: NGINX,Flask Application,Redis,PostgreSQL。我意识到Flask没有单个节点那么强大,所以我想在多个Flask实例之间进行负载平衡。我想知道这将如何运作。
我应该使用Flask容器创建多个服务器吗?如何确保它们都使用相同的Redis实例和PostgreSQL数据库?这是一个功能设置吗?
服务器容器:
Server 1: NGINX, Flask, Redis, PostgreSQL
Server 2: Flask
Server 3: Flask
还有其他想法和提示吗?
答案 0 :(得分:1)
经过相当多的研究,我发现了最符合我需求的设置。
Server 1: NGINX
Server 2: Flask
Server 3: Flask
Server 4: Redis and PostgreSQL
这样,所有请求都转到NGINX,它在2个Flask服务器之间进行负载平衡。最后,Flask服务器访问具有Redis和PostgreSQL的公共数据服务器。
@VonC感谢您的主张。不幸的是,我已经完成了有关容器组织和SSL的所有设置。我只是不知道如何组织它们!
答案 1 :(得分:0)
您可以在Traefik后面运行容器,这是一个" HTTP反向代理和负载均衡器,可轻松部署微服务"。
例如参见" Running your application over HTTPS with traefik"。
他的项目beenje/flask_traefik_letsencrypt使用flask container和traefik settings。
然后,您可以将该服务扩展到多个烧瓶容器。