6

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

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

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

1 回答 1

4

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

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

于 2017-01-30T07:06:57.157 回答