博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringCloud 微服务 (八) 统一配置中心 Config Server&Client
阅读量:6590 次
发布时间:2019-06-24

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

hot3.png

Spring Cloud Config 统一配置中心,方便维护配置文件,对一些公司对数据库密码等敏感的信息,对普通开发人员不公开,放在运维人员手上,对配置作一个隔离作用,另外项目线上的配置改动都要重新启动项目,感觉是有点繁琐的,为了解决以上问题及优化,下面来学习统一配置中心

下面会使用到git仓库

config server 端

新建一个服务config

启动类上 加上eureka服务client注解,并且加上ConfigServer注解,套路都是一样的

以上都是一些操作了又操作的东西,应该都比较熟悉的了

在配置yml文件之前,我们需要先在git仓库上建一个项目,这边用码云做测试,建个项目,创建个文件应该都会,贴个图,

创建一个configs.yml文件,创建文件的时候,注意把.yml后缀加上,我就漏了…

在configs.yml中,加入之前order服务的yml配置

server:  port: 8083spring:  application:    name: order  datasource:    driver-class-name: com.mysql.jdbc.Driver    url: jdbc:mysql://localhost:3306/beginner?useSSL=false&characterEncoding=utf-8    username: root    password: 123456  jpa:    show-sql: trueeureka:  client:    service-url:      defaultZone: http://localhost:8761/eureka/#此处为product服务使用PRODUCT:  ribbon:    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

git上面的内容放置好了,下面来配置config服务中yml文件,如下

spring:  application:    name: config  cloud:    config:      server:        git:          uri: https://gitee.com/daxia/spring-cloud-config          username: daxia@foxmail.com          password: 123456          basedir: E:\MyCloud\config\basedir ---会将git的配置拉去到此路径下,不要写成项目根路径eureka:  client:    service-url:      defaultZone: http://localhost:8761/eureka

上面的git配置需要注意的是,如果是开源中国的git的话,就按上面写,如果是gitlab、hub的话,后面要加上.git

启动config服务(eureka服务中心是一直开启的)

浏览器访问localhost:8080/configs-a.yml就能读取到git中的配合内容,很方便

configs-a.yml中-a是必须的,格式: /{服务名字}-{环境}.yml

下面要使用order服务做测试,所以这边要复制一份内容,新建一份order-dev.yml文件,内容与configs.yml一致

config client 端

相对于config服务,其他服务就是client端,这边拿order服务作为client

在order的maven中引入依赖,作为config的client

org.springframework.cloud spring-cloud-config-client

统一配置了order服务yml,那么order中的多余的配置就不需要了,修改yml配置,

先改application.yml文件的名字为bootstrap.yml,意思是启动时,先加载bootstrap文件再加载统一配置中心的配置文件,比如:数据源应用找不到就报错,内容如下:

spring: application: name: order cloud: config: discovery: enabled: true service-id: CONFIG profile: dev

然后启动项目, 注册中心就会发现服务:

再来浏览器访问以下 http://localhost:8000/order-dev.yml

可以访问到配置,说明成功了

如果设置的注册中心的端口不是默认的8761,需要将git仓库中order-dev.yml中注册中心的配置提到bootstrap.yml配置中

如果在git仓库中配置了order-dev.yml,order-pro.yml,order.yml,在启动服务的时候,读取的配置会被合并,比如启用order-dev的时候,会同时读取order,这时候order作为一个公共的存在; 有这样的处理,就可以想象一下,配置一个公共yml,其余的子yml的形式,用的不好,会引起一些尴尬的问题,需要注意

 

 

学习了统一配置中心,但是修改配置还是需要重启,下节学习结合SpringCloud Bus集合MQ实现自动刷新

------------------------------------------------------------

转载于:https://my.oschina.net/u/3829444/blog/1834973

你可能感兴趣的文章
十二、流程控制之条件运算符
查看>>
python学习笔记之——装饰器及对象
查看>>
kali 上面已经安装了mysql但是启动报 ERROR 2002
查看>>
JS --数据类型
查看>>
redis高级进阶(2)
查看>>
Python_016 XML解析
查看>>
linux精灵进程之crond
查看>>
如何修改一个类的私有成员?
查看>>
memcache 源码分析之开场白
查看>>
javaweb学习总结(六)——Servlet开发(二)
查看>>
ectouch手机商城首页调用指定分类下的商品
查看>>
软件测试有前途吗
查看>>
OC高效率52之“方法调配技术”调试“黑盒方法”
查看>>
Vue学习笔记01
查看>>
概念性问题
查看>>
Categories
查看>>
如何为CentOS 7配置静态IP地址
查看>>
c:递归算法的三个demo:八皇后问题、台阶问题、汉诺塔
查看>>
Linux-dns基础知识和BIND的简单配置-3(主从DNS服务器及转发)
查看>>
Linux 管道(pipe)原理及使用
查看>>