SpringCloud-Consul 服务(注册/注销) 配置中心

boot版本:2.0.6
cloud版本:Finchley.SR2

pom.xml引入依赖

<!-- 健康管理 配合 注册 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

<!-- consul 注册/发现 配置 消息(自动刷新配置) -->

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-consul-config</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-consul-bus</artifactId>
</dependency>

bootstrap.yml

spring:
  cloud:
    consul:
      host: localhost
      port: 8500
      config:
        data-key: data #自定义配置文件路径
        format: yaml
      discovery:
        service-name: yu-user-service-conusl #consul 注册服务名称
        register: true

application.yml

server:
  port: 16001
spring:
  application:
    name: yu-user-service #服务名称(consul默认注册的id 为 应用服务名+端口)
  profiles:
    active: dev #选择哪个配置
  redis:
    database: 11

PS::application.yml (后) 与 bootstrap.yml(先) 加载顺序

1、启动consul服务 consul agent -dev

2、添加配置文件 http://localhost:8500 

  • Key/Value 添加配置(数据库、redis 等...)
  • 请注意路径 config/application,dev/data(,来区分 dev或者prod)

SpringCloud-Consul 服务(注册/注销) 配置中心

3、启动项目xxx-project

SpringCloud-Consul 服务(注册/注销) 配置中心

4、简单写个接口(调用数据库) 测试

5、新建一个服务并注册

SpringCloud-Consul 服务(注册/注销) 配置中心

6、注销third-service-consul

PUT http://localhost:8500/v1/agent/service/deregister/注册服务id

SpringCloud-Consul 服务(注册/注销) 配置中心

SpringCloud-Consul 服务(注册/注销) 配置中心

SpringCloud-Consul 服务(注册/注销) 配置中心

7、修改 配置中心的文件 服务会自动更新(建议最好试一下)