【问题标题】:How to load balance with common database如何与普通数据库进行负载平衡
【发布时间】:2017-12-13 01:51:06
【问题描述】:

我正在使用 Docker 为以下各项创建一个容器: NGINX、Flask 应用程序、Redis、PostgreSQL。我意识到 Flask 没有单个节点那么强大,所以我想在多个 Flask 实例之间进行负载均衡。我想知道这将如何工作。

我应该使用 Flask 容器创建多个服务器吗?如何确保它们都使用相同的 Redis 实例和 PostgreSQL 数据库?这是功能设置吗?

服务器容器:

Server 1: NGINX, Flask, Redis, PostgreSQL
Server 2: Flask
Server 3: Flask

还有其他想法和提示吗?

【问题讨论】:

    标签: postgresql nginx docker flask redis


    【解决方案1】:

    您可以在 Traefik 后面运行您的容器,这是一个“用于轻松部署微服务的 HTTP 反向代理和负载平衡器”。

    例如参见“Running your application over HTTPS with traefik”。
    他的项目beenje/flask_traefik_letsencrypt 使用flask containertraefik settings

    然后,您可以将该服务扩展到多个烧瓶容器。

    【讨论】:

      【解决方案2】:

      经过大量研究,我找到了最适合我需要的设置。

      Server 1: NGINX
      Server 2: Flask
      Server 3: Flask
      Server 4: Redis and PostgreSQL
      

      这样,所有请求都转到 NGINX,它在 2 个 Flask 服务器之间进行负载平衡。最后,Flask 服务器访问具有 Redis 和 PostgreSQL 的公共数据服务器。

      @VonC 感谢您的提议。不幸的是,我已经完成了有关容器组织和 SSL 的所有设置。我只是不知道如何组织它们!

      【讨论】:

      • 很好的反馈,+1。
      猜你喜欢
      • 2021-11-02
      • 1970-01-01
      • 1970-01-01
      • 2016-01-26
      • 1970-01-01
      • 1970-01-01
      • 2012-12-18
      • 2012-11-16
      • 1970-01-01
      相关资源
      最近更新 更多