“spring.cloud.consul.host”配置值是否有多个Consul代理?

时间:2017-01-30 06:56:19

标签: spring-cloud consul spring-cloud-consul

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

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

  • 如果是这样,我宁愿将这些值设置为Consul服务器地址列表(但是,根本没有运行Consul Agents的重点,所以这似乎不实用,这意味着我不理解这里的东西)
  • 如果没有,我们是否希望在每个节点上运行一个Consul Agent,而@EnableDiscoveryClient的启动应用正在运行? (这种感觉也是错误的;首先,即使一个代理应该能够告诉集群的所有内容,这似乎只是单点故障;如果我无法联系这个代理,该怎么办?)
  • 此配置的最佳做法是什么?

1 个答案:

答案 0 :(得分:2)

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

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