2017-01-30 81 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