博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《springcloud 三》分布式配置中心
阅读量:5243 次
发布时间:2019-06-14

本文共 4736 字,大约阅读时间需要 15 分钟。

Git环境搭建

使用码云环境搭建git服务器端 

码云环境地址:https://gitee.com/majie2018

服务端详解

项目名称:springboot2.0-config_server

Maven依赖信息

org.springframework.boot
spring-boot-starter-parent
2.0.1.RELEASE
org.springframework.cloud
spring-cloud-dependencies
Finchley.M7
pom
import
org.springframework.cloud
spring-cloud-config-server
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
spring-milestones
Spring Milestones
https://repo.spring.io/libs-milestone
false

application.yml配置

###服务注册到eureka地址eureka:  client:    service-url:           defaultZone: http://localhost:8100/eurekaspring:  application:    ####注册中心应用名称    name: config-server  cloud:    config:      server:        git:          ###git环境地址          uri: https://gitee.com/itmayi/config.git          ####搜索目录          search-paths:            - config        ####读取分支            label: master####端口号      server:  port: 8888

项目启动

@EnableConfigServer@SpringBootApplicationpublic class ConfigServerApplication {    public static void main(String[] args) {        SpringApplication.run(ConfigServerApplication.class, args);    }}

@EnableConfigServer 开启分布式配置中心服务器端

 

读取配置文件信息 http://127.0.0.1:8888/config-client-dev.properties

 

客户端详解

项目名称:springboot2.0-config_client

 

Maven依赖信息

org.springframework.boot
spring-boot-starter-parent
2.0.1.RELEASE
org.springframework.cloud
spring-cloud-dependencies
Finchley.M7
pom
import
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-config-client
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
spring-milestones
Spring Milestones
https://repo.spring.io/libs-milestone
false

bootstrap.yml

spring:  application:    ####注册中心应用名称    name:  config-client  cloud:    config:    ####读取后缀      profile: dev      ####读取config-server注册地址      discovery:        service-id: config-server        enabled: true#####    eureka服务注册地址    eureka:  client:    service-url:           defaultZone: http://localhost:8100/eureka    server:  port: 8882

读取配置文件

@RestControllerpublic class IndexController {    @Value("${name}")    private String name;    @RequestMapping("/name")    private String name() {        return name;    }}

动态刷新数据

在SpringCloud中有手动刷新配置文件和实时刷新配置文件两种方式。

手动方式采用actuator端点刷新数据

实时刷新采用SpringCloud Bus消息总线

 

 

actuator端点刷新数据

 

Maven依赖信息

org.springframework.boot
spring-boot-starter-actuator

Bootstrap.xml新增

开启监控断点

management:  endpoints:    web:      exposure:        include: "*"

生效前提

在需要刷新的Bean上添加@RefreshScope注解。

@RestController// @SpringBootApplication@RefreshScopepublic class ConfigClientController {http://127.0.0.1:8882/actuator/refresh     @Value("${itmayieduInfo}")    private String itmayieduInfo;

当配置更改时,标有@RefreshScope的Bean将得到特殊处理来生效配置

手动刷新接口

Post请求手动刷新

 

  启动刷新器 从cofnig server读取

 

实际项目中一般都采用手动刷新,  基于bus总线的实时刷新太占内存,消耗cpu

转载于:https://www.cnblogs.com/a1304908180/p/10676452.html

你可能感兴趣的文章
Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216 java c# php js.docx...
查看>>
知识点1-4:ASP.NET MVC的好处
查看>>
定时任务备份数据库与windows批处理
查看>>
饭后粗谈树状数组
查看>>
201506231015_《Javascript权威指南(第六版)——作为命名空间的函数、闭包、 》(P181-193)...
查看>>
NSLog 使用
查看>>
百度之星程序设计大赛 G题 水啊!显示字符串
查看>>
JavaScript常见的错误类型
查看>>
夺命雷公狗---javascript NO:29 Object类
查看>>
使用Advanced Installer 自动部署 Arcgis Engine Runtime 10.0
查看>>
libpcap 与 “port 80”
查看>>
objective-c KVC
查看>>
283. Move Zeroes把零放在最后面
查看>>
我的函数说明风格
查看>>
ssh 简介
查看>>
26.无向网邻接表类
查看>>
Visual Studio Code 打开.py代码报Linter pylint is not installed解决办法
查看>>
洛谷 p1352 没有上司的舞会 题解
查看>>
Python 数据类型
查看>>
Task 与 Activity
查看>>