Consul / Registrator体系结构 – 我需要在每个虚拟机上有一个独立的Consul代理吗?

我正尝试使用Consul和Registrator在各种虚拟机中使用微服务,但是我觉得我并没有太多东西。 我明白,注册人与Consul自动注册容器。 所以我想我会有一个虚拟机运行Consul,然后对于每个微服务,我会有一个虚拟机注册器+微服务。

但是,我无法让注册人在单独的虚拟机中与Consul代理进行交谈。 仔细查看build议的体系结构,似乎我需要在每个虚拟机上安装一个独立的Consul代理。 我理解对吗? 如果是这样,为什么? 注册者不应该只能将容器信息转发给任何虚拟机上的Consul代理?

另外,是否需要使用Consul代理和服务器在虚拟机上运行注册器?

您需要在每个提供服务的虚拟机上都有一个代理人,以便能够与代表服务器通信

这篇博文有很好的信息:

领事架构向领事提供服务的每个节点都运行Consul代理。 代理负责检查节点上的服务以及节点本身的健康状况。 代理与一个或多个领事服务器通话

注册商代理注册商代理可以根据已发布的端口和ECS任务定义中定义的容器环境variables的元数据自动注册/注销ECS任务或服务的服务

所以2是互补的,需要为每个将要部署的服务(名称)部署