20200119 config server服务

把密钥放在配置中心进行保密,配置中心的代码由专人进行维护。(安全性)

配置中心

http://192.168.110.123:7892/com.pica.cloud.trade/dev/publish。 测试配置中心是否通?

url组成:Eureka Server上Config Server的地址,组名,环境名,分支名。

不是git代码的地址。

 

Config配置中心

在配置中心更新配置,重新启动微服务读取配置即可;(重新启动配置中心---------->重新启动业务微服务)

配置了好几次都没有配置成功,高可用配置中心还是要好好学一下的。

找不到确保配置中心是否存在对应的配置,或者git上存在对应的配置。

报错信息:Could not resolve placeholder...,说明在配置中心找不到对应的配置,键值对信息。

 

Spring Config Server

1)修改对应环境的配置后,需要重新启动配置中心;

2)配置中心修改后,需要重新启动对应的微服务,才能重新读取配置(因为只有在微服务启动的时候才会拉取配置,如果微服务不重新启动,就还是原来的配置,读取不到更新的配置)。

config client----->config server----->git

在git上修改了配置文件,config-server需要重新启动加载配置,config-client也需要重新启动拉取配置。

 

spring.config.name=configserver

spring.application.name=config-server 配置中心的名称,Eureka Server上的名称

 

如何通过接口的形式从配置中心读取配置,测试配置中心是否正常?

http://192.168.110.123:7892/com.pica.cloud.base.api/dev/publish

配置中心地址,组名称,环境名称,分支名称。 看看能不能拿到配置信息?

 

由于spring cloud config中默认使用git,所以我们只需要在config server中的application.properties中设置spring.cloud.config.server.git.uri属性即可

config默认Git加载:通过spring.cloud.config.server.git.uri指定配置信息存储的git地址

 

多仓库配置

config server除了可以通过application和profile模式来匹配配置仓库之外,还支持通过带有通配符的表达式来匹配配置仓库,以实现更为复杂的配置要求。并且当我们有多个匹配规则的时候,还可以通过逗号来分割多个{application}/{profile}配置规则。

pica-cloud-ecosystem:这是项目名称

 

仓库的匹配规则,远程git仓库地址,强制拉取配置。多仓库配置:一个配置中心对应多个项目的配置;

spring.cloud.config.name=com.pica.cloud.base.doctor 访问,获取,激活哪个项目的配置文件。 (拉取哪个组下面的配置)

 

http://192.168.110.53/com.pica.cloud.foundation.ecosystem/pica-cloud-configuration.git

http://106.14.119.15:7892/com.pica.cloud.base.api/prod/publish

配置中心:master分支也要进行生态圈的配置,两个分支都要处理;

测试从Config Server获取配置

http://192.168.110.123:7892/com.pica.cloud.foundation/dev/publish

http://192.168.110.122:7892/com.pica.cloud.foundation/dev/publish

 

spring.cloud.config.name=com.pica.cloud.foundation.ecosystem 定义匹配规则(组名)

spring.cloud.config.profile=dev 动态获取环境的配置 dev test prod

spring.cloud.config.label=publish 指明远程仓库的分支

spring.cloud.config.discovery.enabled=true 启用config-client

spring.cloud.config.discovery.service-id=config-server       config-server的application.name。

spring.cloud.config.discovery.service-id:指定配置中心的service-id,便于扩展为高可用配置集群。

 

@EnableConfigServer

spring.cloud.config.server.git.uri:项目配置所在的git仓库地址

在配置中配置数据源信息、项目信息。

 

配置中心自动刷新功能

1)新建配置中心。

2)实现配置自动刷新功能。

 

在gitlab里面创建项目存储配置文件。

http://localhost:9000//doctor-dev。 master分支的doctor-dev环境。

每个微服务在gitlab上都有一个对应的组;每个组下包配置文件和项目代码;

简单理解就是一个git地址对应一个文件夹,这个文件夹中全部都是当前项目的配置文件

我的理解是:所有项目的配置文件都在一个git项目中,但是这样不安全,开发能够修改所有项目的配置文件。

 

组名: com.pica.cloud.foundation

项目名:pica-cloud-ecosystem

包名:com.pica.cloud.foundation.ecossystem

当前微服务要拉取这个组下的配置。

 

新添加的微服务,为什么要重新启动配置中心,然后重新启动微服务?

如何通过url获取配置中心的配置?

配置不生效,拉不到

必须要在配置中心里面配置新的微服务的git路径。

http://192.168.110.123:7892/com.pica.cloud.permission/dev/publish

 

经常遇见的错误error message:

No instances found of configserver (config-server)

Cannot determine embedded database driver class for database type NONE

当前服务启动的时候,没有拉取到config server的配置。

如何判断配置中心是否挂掉? 直接接口访问即可

 

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值