SpringCloud之Consul
2019-06-06 12:59
295 查看
consul
服务的注册中心与配置中心
consul作为注册中心
下载启动consul
新建一个maven项目
项目pom
多加如下依赖
<!--监控配置中心文件刷新--> <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-config</artifactId> </dependency> <!--服务注册和发现功能--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency>
bootstrap.yml
spring: application: name: myconsul cloud: consul: host: localhost port: 8500 server: port: 8080
StartApp
@SpringBootApplication //此注解自动将服务注册到consul或zk上,除eureka外 @EnableDiscoveryClient public class StartApp { public static void main(String[] args) { SpringApplication.run(StartApp.class, args); } }
浏览器访问
consul作为配置中心
和上述代码一样
修改bootstrap.yml文件内容 注意:一定是bootstrap 而不是application 否则获取不到consul上面的值
spring: application: name: myconsul cloud: consul: host: 127.0.0.1 port: 8500 discovery: enabled: true register: true #healthCheckInterval: 15s health-check-timeout: 1s instance-id: ${spring.application.name}-${spring.cloud.consul.host}-${spring.cloud.consul.port} serviecName: ${spring.application.name} config: enabled: true #false禁用Consul配置,默认true format: YAML # 表示consul上面文件的格式 有三种 YAML JSON HCL #data-key: configuration #表示consul上面的KEY值(或者说文件的名字) 默认是data data-key: data #表示consul上面的KEY值(或者说文件的名字) 默认是data #prefix设置配置值的基本文件夹 #defaultContext设置所有应用程序使用的文件夹名称 #profileSeparator设置用于使用配置文件在属性源中分隔配置文件名称的分隔符的值 profiles: active: dev server: port: 8080 #actuator 开启所有节点监控 management: endpoints: web: exposure: include: "*"
新建一个内容为空的bootstrap-dev.yml文件
consul上新建key-value
key-value说明
输入key和value key:config/myconsul,dev/data value: myName: consul user: name: consul age: 23 sex: 男 a、默认情况下,consul配置默认存储在/config文件夹中 b、myconsul为spring.application.name值,dev为spring.profiles.active值,data为data-key值 c、value用的是yaml格式的配置,冒号后面有一个空格。
User
@Data @ConfigurationProperties(prefix = "user") public class User { private String name; private String age; private String sex; }
StartApp
@SpringBootApplication //此注解自动将服务注册到consul或zk上 @EnableDiscoveryClient @EnableConfigurationProperties({User.class}) public class StartApp { public static void main(String[] args) { SpringApplication.run(StartApp.class, args); } }
UserController
@RestController //监控consul配置中心文件是否修改,不加此注解修改consul后的值后下面获取到的值不是最新值 @RefreshScope public class UserController { @Autowired private User user; @Value("${myName}") private String name; @RequestMapping(value = "getUser", method = RequestMethod.GET) public User getUser() { return user; } @RequestMapping(value = "getName", method = RequestMethod.GET) public String getName() { return name; } }
修改age为25,myName 为consul22
使用postman的post请求方式,调用接口localhost:8080/actuator/refresh 刷新,不掉此接口值也不刷新
相关文章推荐
- Spring cloud(Greenwich版本) 之Consul服务治理安装
- Spring Cloud Consul
- Spring Cloud Consul
- 详解Spring Cloud Consul 实现服务注册和发现
- 使用Spring Cloud Consul实现服务的注册和发现
- SpringCloud——服务注册(consul)
- Spring Boot + Spring Cloud 构建微服务系统(一):服务注册和发现(Consul)
- Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)【Dalston版】
- Spring Cloud与Consul服务发现
- SpringCloud之consul (服务注册发现)客户端的安装与简单使用|第十三章-yellowcong
- spring cloud consul环境搭建
- Spring Cloud构建微服务架构:Consul服务注册与发现
- Spring Cloud 爬坑记录 - Consul注册,检查状态失败
- 一起来学SpringCloud之 - 注册中心(Eureka/Consul)
- Spring cloud consul 相关前提知识
- Spring cloud 服务注册(consul)
- 使用Spring Cloud Consul实现服务的注册和发现
- Spring Cloud consul的安装和配置centos 7
- springcloud(十三):Eureka 2.X 停止开发,但注册中心还有更多选择:Consul 使用详解
- Spring Cloud Consul 实现服务注册和发现