具有负载平衡的传统Web应用程序的Docker?

时间:2015-09-20 11:11:15

标签: php mysql wordpress docker haproxy

这是一个概念问题,而不是技术问题。

我的问题是:如果我要去

  • 使用Apache
  • 设置wordpress eshop(woocommerce)
  • 使用Docker,
  • 负载均衡,使用HAProxy
  • 实施微服务架构

我该如何实施?

以下是我提出的建议:

  • 1容器:Apache + PHP
  • 1容器:MySQL

但我不知道如何将HAProxy集成到架构中。

任何人都可以给我一个想法吗?

如果所有容器都在一台机器上,如何进行负载平衡?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我已经完成了类似的事情并且在多台机器上也是如此。

首先,除非你有多个Apache + PHP实例,否则haproxy根本就不会出现。

否则:理想的设置是:

来自用户的请求 - > haproxy - > multiple(Apache + PHP) - > MySQL。

在这里,Haproxy会为您提供一个公共IP(主机)和端口供您的应用访问。每当有人访问此IP和端口时,请求将被转发到您的一个Apache + PHP容器。您必须编辑haproxy.cfg文件并列出容器的IP和端口。

此链接可能对您有所帮助: https://serversforhackers.com/load-balancing-with-haproxy

请注意,此处Haproxy正在您的计算机上运行,​​而不是作为Docker容器运行。