问题描述
我无法理解分离的服务发现服务器的需求,同时我们可以通过任何协议将从节点注册到从节点启动时的主节点。托管另一个服务对我来说似乎是多余的。
目标是分离自己的容器中的基础架构问题(Discovery服务),与开发工具关注(Swarm)分开。
I am having problem understanding the need of a separated service discovery server while we could register the slave node to the master node at the slave node start-up through whatever protocol. Hosting another service seem redundant to me.
Docker Swarm is there to create a cluster of hosts running Docker and schedule containers across the cluster.
It does not include service discovery, which is provided by a backend service, such as etcd, consul or zookeeper.
The DockerCon makes that distinction clear this morning (Nov. 16th, 2015), with the "Docker Stack":
You can see consul.io used in:
- "Easy routing and service discovery with Docker, Consul and nginx"
- "Docker Overlay Networks: That was Easy"
- "Docker DNS
getaddrinfo ENOTFOUN
D"
That means:
- Consul is a KV (Key/Value) store which can be plugged into Swarm in order to manage the service discovery aspect.
- Swarm is the access layer, which is usually the layer that contains a gateway or routing component that allows others to actually reach your services.
The goal is to isolate what is an infrastructure concern (Discovery service) in its own container, separate from a dev tool concern (Swarm).
这篇关于将独立的服务发现放在Docker Swarm的群集机器中,有什么区别呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!