2017-01-30 353 views
1

我对这个配置有点困惑。我的Spring Boot应用程序@EnableDiscoveryClient已将spring.cloud.consul.host设置为localhost。我在启动应用程序的主机上运行Consul Agent,但我有几个问题(似乎无法在文档中找到我的答案)。“spring.cloud.consul.host”配置值是否可以有多个Consul代理?

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

  • 如果是这样,我宁愿值设置为领事服务器地址的列表(但后来,什么是运行代理领事在所有的点,所以这似乎并不现实,这意味着我” m在这里没有理解的东西)
  • 如果没有,我们是否期望在每个节点上运行一个Consul Agent,启动应用程序@EnableDiscoveryClient正在运行? (这种感觉也是错误的;例如,即使一个代理应该能够告诉关于集群的所有事情,这看起来像是单点故障;如果我不能联系这一个代理,该怎么办?)
  • 什么是此配置的最佳做法?

回答

2

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

https://www.consul.io/docs/agent/basics.html

+0

这是正确的,'spring.cloud.consul.host'只能有一个值。 – spencergibb

相关问题