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)
3、启动项目xxx-project
- 配置都已经读取,并加载
- 进入网址 http://localhost:8500/ui/dc1/services 可以看到服务已注册上去了
4、简单写个接口(调用数据库) 测试
5、新建一个服务并注册
6、注销third-service-consul
PUT http://localhost:8500/v1/agent/service/deregister/注册服务id
7、修改 配置中心的文件 服务会自动更新(建议最好试一下)