“spring.cloud.consul.host”配置值可以有多个领事代理吗?

Sri*_*nth 6 consul spring-cloud spring-cloud-consul

我对这个配置有点困惑。我的 Spring Boot 应用程序@EnableDiscoveryClientspring.cloud.consul.host设置为localhost. 我正在运行我的引导应用程序的主机上运行 Consul 代理,但我有几个问题(似乎无法在文档中找到我的答案)。

这个配置可以接受多个值吗?

  • 如果是这样,我更愿意将这些值设置为 Consul 服务器地址列表(但是,运行 Consul 代理有什么意义呢,所以这似乎不切实际,这意味着我在这里不明白)
  • 如果没有,我们是否希望在运行引导应用程序的每个节点上运行 Consul Agent @EnableDiscoveryClient?(这也感觉不对;一方面,即使一个代理应该能够告诉集群的所有信息,这似乎也是一个单点故障;如果我无法联系到这个代理怎么办?)
  • 这种配置的最佳实践是什么?

Pio*_*zda 4

其实这是Consul本身来解决你的问题的。每台服务器上都运行一个代理来为您处理集群、故障、共享数据、自动发现等,这样您就不需要了解 Spring Boot 配置中的其他主机。Spring Boot 应用程序始终连接到在同一台计算机上运行的代理。

请参阅https://www.consul.io/docs/agent/basics.html