在负载均衡器后面集群 Docker 个容器以实现 HA

Clustering Docker containers behind load-balancers for HA

大多数 Docker 文献吹嘘您可以 运行 在同一台物理服务器上安装数百个甚至数千个容器。我想知道从 load-balancing/clustering 的角度来看这是什么样的。

假设我有一个 RESTful 网络服务 fizz-service.war。通常,对于 "normal" 个虚拟机,我可能会将此服务部署到 50 个虚拟机(例如,fizzsvc01.example.comfizzsvc50.example.com),然后 cluster/load 平衡服务背后的这些虚拟机 URL,例如http://fizz-service.example.com。当一个请求进来时,负载均衡器 select 一个节点将请求转发到,比如说 fizzsvc34:8080/fizz-service.

我想知道这如何与 Docker 容器一起工作。 如果我有相同的 50 个容器 运行 跨越,比如说,5 个节点:

或者当我进入 Docker-land 时,我对 HA/load 平衡的整个方法是否需要改变?

每个容器将 运行 在一个专用端口上(通常由 Docker 分配),您需要一些机制来跟踪每个容器,以便为您的容器生成配置负载均衡器。

因此,除了容器的数量可能更大,需要自动化才能实用之外,没有什么真正的改变。与虚拟机相比,容器更加即时。