Docker Swarm 负载均衡

3

我们是否需要通过ngnix在swarm模式下平衡负载?

如果需要,为什么需要这样做。Docker swarm可以平衡负载。我测试了简单的应用程序。它有几种负载平衡策略。

即使docker swarm可以平衡负载,为什么还有那么多关于在swarm模式下使用ngnix进行负载平衡的文章呢?

2个回答

6

我们是否需要通过swarm模式使用ngnix进行负载均衡?

是的和不是的。这取决于... :)
应用程序负载均衡正在为您执行swarm。例如,当部署具有10个副本的服务时,每次调用它时,swarm模式将在您的10个应用程序周围执行循环Robin负载平衡。无论您要调用哪个管理器或工作程序,都没有关系。

但是,在主机级别上,您需要一个外部经典负载均衡器。例如,当您的swarm在4个digital ocean计算机上运行时,您需要一个覆盖所有4个IP地址的负载平衡器。

即使docker swarm会平衡负载,为什么有那么多关于在swarm模式下使用ngnix进行负载均衡的文章?

a)因为nginx想赚钱
b)因为在docker swarm模式存在之前有一段时间一切都很复杂
c)因为了解如何自己操作仍然很重要
d)因为您非常熟悉nginx


Docker Swarm负载均衡与其他负载均衡解决方案之间的另一个区别可能是它们在网络层中的区别。 Docker Swarm使用L4负载平衡,而NGINX和HA代理使用第7层。有用的文章在这里https://www.quora.com/What-is-the-difference-between-using-Docker-Swarm-and-HAProxy 我认为如果我们只需要节点之间的负载平衡,Swarm可以很好地工作,否则,如果我们需要根据HTTP标头进行更智能的负载平衡,则最好使用L7负载均衡器。 - Ali Abazari

1
Docker 1.12中的新功能使Swarm成为一个强大的平台,但通过利用开源的NGINX甚至使用NGINX Plus将进一步增强。NGINX Plus具有动态重新配置后端容器以使用DNS进行负载均衡的能力,以及Status API提供的可见性,这使得它成为一个非常强大的容器解决方案。
有一篇文章非常详细地解释了为什么这样非常有优势。链接here
希望这回答了你的问题!

这个回答解决了你的问题吗,@GopsAB? - N00b Pr0grammer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接