跳转到主要内容
Chinese, Simplified
SEO Title

Consul概述


作为JHipster Registry的替代品,您可以选择使用来自Hashicorp的数据中心管理解决方案Consul。 与Eureka相比,它具有许多优点:

  1. 在多节点集群中操作比Eureka中更容易。
  2. 它有利于可用性的一致性,因此可以更快地传播集群状态的变化。
  3. Consul服务发现可以通过其DNS接口或HTTP API与现有应用程序进行简单的互操作。


架构图

Diagram

入门


要开始开发依赖Consul注册表的应用程序,您可以在docker容器中启动Consul实例:

  • 运行docker-compose -f src/main/docker/consul.yml up 以在开发模式下启动Consul服务器。然后,可以在Docker主机的端口8500上使用Consul,因此如果它在您的机器上运行,则应该在http://127.0.0.1:8500/

您还可以使用Docker Compose子生成器为多个启用了consul的应用程序生成docker配置。

Consul的应用程序配置


如果您在生成JHipster微服务或网关应用程序时选择了Consul选项,它们将自动配置为从Consul的Key / Value存储中检索其配置。

可以使用http:// localhost:8500 / v1 / kv /或其REST API提供的UI来修改密钥/值(K / V)存储。但是,通过这种方式进行的更改是临时的,并且将在Consul服务器/集群关闭时丢失。因此,为了帮助您轻松地与Key / Value商店进行交互并将配置作为简单的YAML文件进行管理,JHipster团队开发了一个小工具:consul-config-loader。从consul.yml docker-compose文件启动Consul时会自动配置consul-config-loader,但它也可以作为独立工具运行。它可以以两种模式运行:

  1. 开发模式,来自central-server-config目录的YAML文件自动加载到Consul中。此外,对此目录的任何更改都将立即与Consul同步。
  2. 一个prod模式,它使用Git2Consul来设置Git存储库中包含的YAML文件,作为Key / Value存储的配置源。

请注意,与JHipster Registry一样,您的配置文件需要命名为appname-profile.yml,其中appname和profile对应于您要配置的服务的应用程序名称和配置文件。例如,在consulapp-prod.yml文件中添加属性将仅为名为consulapp的应用程序设置这些属性,这些应用程序以prod配置文件开头。此外,将为所有应用程序设置application.yml中定义的属性。

 

原文:https://www.jhipster.tech/consul/

本文:https://pub.intelligentx.net/consul-overview

讨论:请加入知识星球或者小红圈【首席架构师圈】

Tags

Article
知识星球
 
微信公众号
 
视频号