【发布时间】:2017-09-26 03:47:31
【问题描述】:
我是 docker swarm 的新手,我雄心勃勃地想用 docker swarm 部署我的应用程序。
使用 docker swarm,它有自己的发现服务,但我搜索了一下,发现人们提到 Consul 作为发现服务。
我的问题是。领事的优势是什么?我们为什么不直接使用默认的发现服务呢?
谢谢,
【问题讨论】:
标签: docker docker-swarm consul
我是 docker swarm 的新手,我雄心勃勃地想用 docker swarm 部署我的应用程序。
使用 docker swarm,它有自己的发现服务,但我搜索了一下,发现人们提到 Consul 作为发现服务。
我的问题是。领事的优势是什么?我们为什么不直接使用默认的发现服务呢?
谢谢,
【问题讨论】:
标签: docker docker-swarm consul
让我们先看看 swarm 和 Consul 提供的服务发现的范围。
Swarm 仅用于在您的 docker 网络/基础设施上促进服务发现,而如果您知道如何使用 consul,几乎可以与任何东西一起使用它,无论是单一应用程序还是微服务,consul 一次性为您提供所有这些地点。
其次,尽管 Swarm 非常适合处理小型基础设施负载,但它在处理资源繁重的基础设施的高生产负载方面并不能很好地处理。这就是为什么存在其他工具的原因,例如 kubernetes、ECS 等。
因此,考虑到您有一个知道会增长的应用程序,我宁愿选择一种解决方案,该解决方案可以很好地适用于我将来可能尝试的任何东西,而无需进行太多更改,并且适用于任何 IaaS 提供商的扩展.希望对您有所帮助。
【讨论】:
Consul 被用作独立 Swarm 中的服务发现模块(在 docker 1.12 之前)。但是,从 docker 1.12 开始,引入了 Swarm 模式,并带有默认的发现服务。所以你不需要外部存储。
需要注意的关键点是,如果你有一个像 consul 这样的外部存储的 swarm,它仍然会有一些需要保留的数据/元数据。因此,Consul 的使用仍然存在。
【讨论】: