配置中心

1.配置中心组件

l Apollo**------>很多使用apollo**
Apollo是由携程开源的分布式配置中心。特点有很多,比如:配置更
新之后可以实时生效,支持灰度发布功能,并且能对所有的配置进行
版本管理、操作审计等功能,提供开放平台API。并且资料 也写的很详
细。
l Disconf
Disconf是由百度开源的分布式配置中心。它是基于Zookeeper来实现
配置变更后实时通知和生效的。
l SpringCloud Config
这是Spring Cloud中带的配置中心组件。它和Spring是无缝集成,使
用起来非常方便,并且它的配置存储支持Git。不过它没有可视化的操
作界面,配置的生效也不是实时的,需要重启或去刷新。
l Nacos
这是SpingCloud alibaba技术栈中的一个组件,前面我们已经使用它
做过服务注册中心。其实它也集成了服务配置的功能,我们可以直接
使用它作为服务配置中心。

 2.在nacos配置中心创建微服务配置文件

配置中心_第1张图片

 

3.微服务使用配置中心中指定配置文件


com.alibaba.cloud
spring-cloud-starter-alibaba-
nacos-config

4.创建一个bootstrap.properties配置文件 

配置中心_第2张图片

5. 在controller验证读取到配置中的内容

配置中心_第3张图片

 6.bootstrap和application的区别

bootstrap和application都是SpringBoot项目中的配置文件,他们的区
别主要有以下的几个方面
(1)加载顺序区别
bootstrap配置文件是比application配置文件优先加载的,因为
bootstrap是由spring父上下文加载,而application是由子上下文加载

(2)优先级区别
bootstrap加载的配置信息是不能被application的相同配置覆盖的,如
果两个配置文件同时存在,也是以bootstrap为主
(3)应用场景区别
bootstrap常见应用场景
1.配置一些固定的,不能被覆盖的属性.用于一些系统级别的参数配置
本地的配置文件是默认不能覆盖远程的配置的
2.一些需要加密/解密的场景
3.当你使用了nacos配置中心时,这时需要在boostrap配置文件中添加
连接到配置中心的配置属性来加载外部配置中心的配置信息,专业翻译

配置中心_第4张图片 

当配置中心中的内容发生改变时,微服务应该自动收到改变的内容。 

7.nacos实时刷新

在controller类上加上@RefreshScope注解配置中心_第5张图片

 7.2微服务集群共享一个配置文件

应该把每个微服务的配置放入对应配置中心文件中。

student.name=aaa
#端口号:8080~8089 []
server.port=8081
#数据源
spring.datasource.url=jdbc:mysql://localhost:3306/spri
ngcloud-product?serverTimezone=Asia/Shanghai
spring.datasource.password=chuxin0920
spring.datasource.username=root
spring.datasource.driver-class-
name=com.mysql.cj.jdbc.Driver
#打印sql日志
mybatis-plus.configuration.log-
impl=org.apache.ibatis.logging.stdout.StdOutImpl
##注册中心的地址
#spring.cloud.nacos.discovery.server-

spring.cloud.nacos.discovery.server-
addr=localhost:8848

 ##起名字 单词之间使用-划线
spring.application.name=qy163-product
#eureka.client.service-
url.defaultZone=http://localhost:7001/eureka/
#zipkin服务端的地址
spring.zipkin.base-url=http://localhost:9411/

7.3多个微服务共享一些配置内容

 在微服务bootstrap.properties编写配置文件

#引用公共配置内容
#扩展文件的id
spring.cloud.nacos.config.extension-configs[0].data-id=nacos-data.properties
#扩展文件是否实时刷新
spring.cloud.nacos.config.extension-configs[0].refresh=true
spring.cloud.nacos.config.extension-configs[0].group=DEFAULT_GROUP

你可能感兴趣的:(java,开发语言)