配置中心
2022-02-16 11:32:07 10 举报
AI智能生成
一文看懂云原生微服务服务注册中心配置中心
作者其他创作
大纲/内容
业界常见的配置中心有哪些?
Apollo
配置更新之后可以实时生效
,支持灰度发布功能
,并且能对所有的配置进行版本管理、操作审计等功能
,提供开放平台API。
并且资料也写的很详细。
Disconf
它是基于Zookeeper来实现配置变更后实时通知和生效的。
SpringCloud Config
它和Spring是无缝集成,使用起来非常方便,并且它的配置存储支持Git。
不过它没有可视化的操作界面,配置的生效也不是实时的,需要重启或去刷新。
Nacos
即可以做服务注册中心
也具备服务配置中心的能力
Nacos Config
Nacos Config入门
1 、搭建nacos环境
2 在微服务中引入nacos的依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
3 在微服务中添加nacos config的配置
配置文件优先级(由高到低):
bootstrap.properties -> bootstrap.yml -> application.properties -> application.yml
配置文件优先级(由高到低):
bootstrap.properties -> bootstrap.yml -> application.properties -> application.yml
4 在nacos中添加配置
子主题
5 注释本地的application.yam中的内容, 启动程序进行测试
如果依旧可以成功访问程序,说明我们nacos的配置中心功能已经实现
如果依旧可以成功访问程序,说明我们nacos的配置中心功能已经实现
Nacos Config深入
配置动态刷新
方式一: 硬编码方式
方式二: 注解方式(推荐)
配置共享
同一个微服务的不同环境之间共享配置
1 新建一个名为service-product.yaml配置存放商品微服务的公共配置
子主题
2 新建一个名为service-product-test.yaml配置存放测试环境的配置
子主题
3 新建一个名为service-product-dev.yaml配置存放开发环境的配置
子主题
4 添加测试方法
5 访问测试
6 接下来,修改bootstrap.yml中的配置,将active设置成test,再次访问,观察结果
不同微服务中间共享配置
1 在nacos中定义一个DataID为all-service.yaml的配置,用于所有微服务共享
2 在nacos的中修改service-product.yaml中为下面内容
3 修改bootstrap.yaml
4 启动商品微服务进行测试
nacos的几个概念
命名空间(Namespace)
对应环境
配置分组(Group)
对应项目
配置集(Data ID)
对应微服务
为什么需要统一的配置中心?
微服务架构下关于配置文件的一些问题
配置文件相对分散。
配置文件无法区分环境。
配置文件无法实时更新。
统一配置中心如何解决这个问题?
首先把项目中各种配置全部都放到一个集中的地方进行统一管理,并提供一套标准的接口。
当各个服务需要获取配置的时候,就来配置中心的接口拉取自己的配置。
当配置中心中的各种参数有更新的时候,也能通知到各个服务实时的过来同步最新的信息,使之动态更新。
加入了统一配置中心后微服务结构是什么样子?
Subtopic
收藏
0 条评论
下一页