Nacos配置中心中配置文件的创建、微服务读取nacos配置中心

本文介绍了Nacos配置中心如何管理配置文件,解决了传统配置方式的弊端,如维护性和时效性问题。内容包括配置中心管理界面、Nacos Config Client的配置读取和动态更新,以及权限管理、文件扩展名配置、命名空间和Group配置等,强调了Nacos在性能和实时性上的优势。
摘要由CSDN通过智能技术生成

配置中心

在企业项目中会有非常多的服务,不同的开发环境还有不同的配置文件,所以就导致配置文件非常多。

那么肯定就会有一些公共配置,多个服务都是使用过一样的,那么就可以使用配置中心来进行统一管理,避免修改一个配置项要去各个服务都改一遍。

使用传统方式的配置文件弊端:

  • 维护性,修改一个配置项,需要对多个服务的这个配置都进行修改

  • 时效性,修改完配置文件,必须对服务进行重启,一个服务搭建了集群,现在仅仅重启了第一个服务实例,其他的还没有重启,就造成了配置不一致

  • 安全性,重要的配置项,比如密码直接写在配置文件中,不太安全

Nacos配置中心,它可以对公共的配置文件进行管理,可以直接在配置中心进行修改,然后各个服务就能动态的感知到。nacos配置中心还可以对不同的命名空间设置角色,并授权读写权限。

市面上常见的配置中心:Spring Cloud Config 、apollo、nacos

  • Spring Cloud Config配置中心,需要结合git使用,修改了git中的配置后还需要结合Spring Cloud Bus消息总线来通知所有的客户端,这个推送的过程还有一定的延迟,而apollo和nacos配置中心中,客户端和配置中心是有一个http轮询的长链接的,如果更改了配置1s之内就能推送给所有客户端了。
  • Spring Cloud Config不提供可视化界面
  • apollo和nacos的区别更多的是性能上的区别,nacos无论是单机或者是集群,读写速度都是要快于apollo的。apollo对于容器化部署的支持内有nacos好。



配置中心管理界面

首先是配置列表,这里会维护配置中心当中所有的配置文件,然后就可以在微服务当中引入我们对应的配置文件了
在这里插入图片描述

首先创建一个配置文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dnu1zfNW-1658025885321)(E:\Java笔记\image\springcloud_alibaba\image-20220611130137442.png)]

Data ID我们可以理解为配置文件的名称,官方推荐了一种命名规则,采用类java包(如com.taobao.tc.refund.log.level)的命名规则保证全局唯一性,当然命名规则非强制。

Group是在命名空间的基础上,再进行一个细粒度的分类,比如命名空间可以使用dev、sit环境来进行分类,然后分组中使用各个项目来进行分类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HhXIZKST-1658025885323)(E:\Java笔记\image\springcloud_alibaba\image-20220611131553809.png)]

其实新建的这个配置文件是存储在nacos数据库中config_info数据表中。

配置列表中就有了我们刚刚创建的配置文件了,点击右边的详情可以查看操作,点击编辑可以进行修改操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b8Zu7WFG-1658025885324)(E:\Java笔记\image\springcloud_alibaba\image-20220611132020680.png)]

还可以点击更多 --> 历史版本,来查看该配置文件历史修改,比如我现在对该配置文件进行了一个修改操作,然后查看历史版本,就会发现这里有两条记录,一条是最刚开始的创建记录,还有一条就是各个的修改操作,我们可以点击回滚按钮,回滚到这一个修改前的配置文件内容,点击详情也是查看修改前的内容。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pzULep7A-1658025885325)(E:\Java笔记\image\springcloud_alibaba\image-20220611132440798.png)]

还可以点击更多 --> 监听查询来查询nacos有没有将配置推送至客户端。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WikGS6AT-1658025885328)(E:\Java笔记\image\springcloud_alibaba\image-20220611133018191.png)]

其他的一些配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yz35IxJN-1658025885329)(E:\Java笔记\image\springcloud_alibaba\image-20220611133502453.png)]

然后选择目标命名空间

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KTWhedlT-1658025885330)(E:\Java笔记\image\springcloud_alibaba\image-20220611133558443.png)]

权限管理

之前提过Nacos也有针对安全性问题的相关功能,就是权限管理,给特定的角色赋予不同命名空间的读写权限。

如果要使用权限控制,必须修改conf/application.properties配置文件中的nacos.core.auth.enabled=true,权限控制的功能才会起作用。

首先在用户列表创建一个用户

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fVC8dzrE-1658025885331)(E:\Java笔记\image\springcloud_alibaba\image-20220611133833768.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k7mkXC1s-1658025885332)(E:\Java笔记\image\springcloud_alibaba\image-20220611133858948.png)]

第二步给刚刚创建的用户绑定角色,角色名如果不存在则会创建一个。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lNlab6RT-1658025885335)(E:\Java笔记\image\springcloud_alibaba\image-20220611134108837.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BWHCThOU-1658025885336)(E:\Java笔记\image\springcloud_alibaba\image-20220611134013712.png)]

第三步,权限管理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WU504typ-1658025885337)(E:\Java笔记\image\springcloud_alibaba\image-20220611134317186.png)]

现在登录该用户,查看其他命名空间就没有权限了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FDuoNFHq-1658025885338)(E:\Java笔记\image\springcloud_alibaba\image-20220611134411077.png)]



Nacos Config Client读取配置

我们一旦修改了配置中心的配置文件,客户端能够实时的感受到。

这是现在配置中心中的文件内容

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ortGn6bx-1658026141347)(E:\Java笔记\image\springcloud_alibaba\image-20220613202057200.png)]

创建一个nacos-config的服务,创建主启动类

首先需要在服务中添加依赖

<dependencies>
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值