SpringCloud-7-配置中心
一、创建配置中心微服务4041
把所有配置文件都扔到git仓库里,修改配置文件,只需要发送一个post请求,不需要重启项目就能完成更新
git创建仓库
1.1 添加依赖
其实和eureka一样,config也是个服务端,其他微服务连到这个模块就相当于客户端。
注意:这个默认版本是2.2.1,其他版本如2.2.2会出现jar包冲突,nosuchmethod错误
1.2 配置文件
注意:你的git仓库是私有的就加上账号密码,公有的就可以不加
server:port: 4041eureka:client:service-url:defaultZone: http://localhost:6061/eureka
spring:application:name: configcloud:config:server:git:#git仓库地址uri: https://gitee.com/zhanzhaoxu/springcloud01config.git#git仓库目录的搜索位置, /**代表所有位置search-paths: /**username: zhanzhaoxu@163.compassword: **********label: master #git仓库分支
1.3 启动类
二、测试7071配置文件
2.1 在7071配置文件随便加一个配置进行测试
在controller去取到这个配置
2.2 将7071配置文件改名后传到git仓库
application.yml---------->
命名规则,改配置文件名字按以下规则来取
1. /{label}/{application}-{profile}.ymlhttp://localhost:4041/master/consumerstudent-dev.yml
2. /{application}-{profile}.ymlhttp://localhost:4041/consumerstudent-dev.yml
3. /{application}/{profile}/{label}http://localhost:4041/consumerstudent/dev/masterhttp://localhost:4041/consumerstudent/dev
2.3 通过配置中心拿到文件
找到GitHub的配置文件
三、其他微服务设置
7071就是4041的客户端,7071找4041,4041去找git拿配置文件
3.1 添加依赖
一定跟配置中心服务端的依赖分清楚,默认版本都是2.2.1
3.2 bootstrap.yml
7071连到4041配置中心,去拿配置文件
spring:cloud:config:label: mastername: module02profile: devuri: http://localhost:4041#http://localhost:4041/master/module02-dev.properties
注意一定先启动4041配置中心,再启动其他微服务,否则找不到配置文件无法初始化。
3.3 测试
7071可以拿到配置文件中的内容
3.4 修改配置文件
点击编辑,之后提交即可
刷新4041配置文件会更新
但7071访问不会刷新,必须重启7071的服务才可以。
3.5 优点:配置动态刷新
3.5.1 添加监控插件的依赖
3.5.2 配置文件
3.5.3 controller加注解
3.5.4 发送post请求即可修改,不需要重启7071服务
显示[]时代表没有任何更改
修改过后4041已更新,但7071未更新
此时发送post请求进行更新,会显示哪里修改了
此时不需要重启7071的服务,配置文件已更新
练习:修改8081,同7071
3.6 修改配置8081
3.6.1 添加依赖
监控点和配置中心依赖都要加
3.6.2 配置文件
将两个配置文件照着7071一样改,在配置文件随便加一个值。文件拷出去,改名上传到git,二者会合为一个
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MPN8i3oh-1605515375556)(C:/Users/CEO/AppData/Roaming/Typora/typora-user-images/image-20201116134848813.png)]
请求配置文件时二者会合二为一给你
然后配置bootstrap
spring:cloud:config:label: mastername: module01profile: devuri: http://localhost:4041management:endpoints:web:exposure:include: "refresh"
3.6.3 controller打注解
3.6.4 测试能否获取配置文件
3.6.5 发送post请求,不重启8081更新配置文件
四、Bus
有了配置中心以后,可以提交post请求,不用重启服务,配置文件动态刷新,即时生效。但是微服务模块较多,每个要单独发送post请求还是很麻烦。
Bus作用:Bus消息总线可以实现,发一个post请求,让所有的微服务配置都是更新生效。底层是通过消息队列实现的,Bus支持RabbitMQ和kafaka。
(DOS窗口也可以发post请求)
4.0 启动消息队列
启动linux版必须用真实的ip,启动windows版的可以配置localhost
4.1 添加消息队列插件bus依赖
其他微服务都要加这两个依赖
4041也要加这两个依赖,它是一个总线,去监控其他微服务
4.2 配置文件
4041配置连接rabbitmq和动态刷新监控点
其他所有微服务都要配置连接rabbitmq
4.3 通过消息队列发消息
4.3.1 启动所有微服务会建立三个队列
4.3.2 所有都更新
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TiUxGACE-1605515375561)(C:/Users/CEO/AppData/Roaming/Typora/typora-user-images/image-20201116162616581.png)]
4.3.3 只刷新一个微服务
SpringCloud-7-配置中心相关推荐
- SpringCloud config 配置中心集群配置以及整合消息总线BUS实现关联微服务配置自动刷新
一.SpringCloud Config 基本配置中的问题 在上一章节<SpringCloud config 配置中心介绍与基本配置使用>中我们现实了配置中心的配置集中管理.调用微服务应用 ...
- springcloud 分布式配置中心 config server config client
---------------------------------------------------------------------------------------------------- ...
- Java之 Spring Cloud 微服务的 SpringCloud Config 配置中心(第四个阶段)【二】【SpringBoot项目实现商品服务器端调用】
SpringCloud学习目录点击跳转对应的文章 Java之 Spring Cloud 微服务搭建(第一个阶段)[一][SpringBoot项目实现商品服务器端是调用] Java之 Spring Cl ...
- 【SpringCloud】配置中心简介及其搭建
Spring Cloud是现在流行的分布式框架,提供可很多组件,比如我们熟悉的eureka,zuul,ribbon等组件.当然还有配置中心,他提供了配置文件的统一管理,可以很快速的切换不同的环境.说的 ...
- spring boot pom配置_125 SpringCloud服务配置中心
1. 为什么需要使用配置中心 (1) 常用的配置管理解决方案有哪些缺点? 硬编码:需要修改代码的话繁琐且风险大: 配置写在properties里面,在集群环境下,需要替换和重启: 写在xml文件中,一 ...
- 六、springcloud之配置中心Config
一.配置中心提供的核心功能 Spring Cloud Config为服务端和客户端提供了分布式系统的外部化配置支持.配置服务器为各应用的所有环境提供了一个中心化的外部配置.它实现了对服务端和客户端对S ...
- springcloud config配置中心概述
Spring Cloud Config简介 Spring Cloud Config 是 Spring Cloud 家族中最早的配置中心,虽然后来又发布了 Consul 可以代替配置中心功能,但是 Co ...
- SpringCloud config 配置中心介绍与基本配置使用
一.SpringCloud Config 介绍 出现背景:在微服务架构中,在没有配置中心出现时,我们每个应用的配置信息都在其配置文件application.properties中维护.加入整个系统中有 ...
- springcloud分布式配置中心(二)-阿波罗apollo
1.Springcloud的分布式配置中心组件 组件一般有两个,springcloud config,apollo.apollo有一个好处是apollo有界面,这是apollo的一个优势. sprin ...
- SpringCloud 分布式配置中心Config Hoxton版本
Spring Cloud Config简介:Spring Cloud Config为分布式系统提供了服务端和客户端用于支持外部配置.使用Config Server可以在所有环境中管理应用程序的外部属性 ...
最新文章
- 在LinearLayout中嵌套RelativeLayout来设置Button的位置(xml文件)
- kail Linux 安装Parallels Tools
- NVMe SSD是什么?
- Centos 6.5(64bit)上安装Vertica single node
- 和我一起读Java8 LinkedList源码
- 云计算是互联网和计算机技术发展的产物,云计算是网络技术和电脑融合在一起产物...
- 阿里面试题(含内推)
- Atitit oil painting article list sumup s55 C:\Users\Administrator\Desktop\油画技术资料包\Atitit Atitit 图像
- 软件测试分析流程及输出项包括哪些内容?
- 密码编码学与网络安全
- java编写投票功能需求分析
- 服务器ae是什么位置,ae 渲染服务器
- 互信息配准matlab,基于图像特征和互信息的图像配准方法
- Python中的关键字的用法
- SVM-RFE使用及换kernal及estimator
- npm-rebuild
- OSI的7层模型和TCP/IP四层模型
- 正则表达式 (js)
- object-ui之动画雪花降落实现
- echarts水球图