配置中心
在企业项目中会有非常多的服务,不同的开发环境还有不同的配置文件,所以就导致配置文件非常多。
那么肯定就会有一些公共配置,多个服务都是使用过一样的,那么就可以使用配置中心来进行统一管理,避免修改一个配置项要去各个服务都改一遍。
使用传统方式的配置文件弊端:
-
维护性,修改一个配置项,需要对多个服务的这个配置都进行修改
-
时效性,修改完配置文件,必须对服务进行重启,一个服务搭建了集群,现在仅仅重启了第一个服务实例,其他的还没有重启,就造成了配置不一致
-
安全性,重要的配置项,比如密码直接写在配置文件中,不太安全
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好。
配置中心管理界面
首先是配置列表,这里会维护配置中心当中所有的配置文件,然后就可以在微服务当中引入我们对应的配置文件了
首先创建一个配置文件
Data ID我们可以理解为配置文件的名称,官方推荐了一种命名规则,采用类java包(如com.taobao.tc.refund.log.level)的命名规则保证全局唯一性,当然命名规则非强制。
Group是在命名空间的基础上,再进行一个细粒度的分类,比如命名空间可以使用dev、sit环境来进行分类,然后分组中使用各个项目来进行分类
其实新建的这个配置文件是存储在nacos数据库中config_info
数据表中。
配置列表中就有了我们刚刚创建的配置文件了,点击右边的详情可以查看操作,点击编辑可以进行修改操作
还可以点击更多 --> 历史版本,来查看该配置文件历史修改,比如我现在对该配置文件进行了一个修改操作,然后查看历史版本,就会发现这里有两条记录,一条是最刚开始的创建记录,还有一条就是各个的修改操作,我们可以点击回滚按钮,回滚到这一个修改前的配置文件内容,点击详情也是查看修改前的内容。
还可以点击更多 --> 监听查询来查询nacos有没有将配置推送至客户端。
其他的一些配置
然后选择目标命名空间
权限管理
之前提过Nacos也有针对安全性问题的相关功能,就是权限管理,给特定的角色赋予不同命名空间的读写权限。
如果要使用权限控制,必须修改conf/application.properties
配置文件中的nacos.core.auth.enabled=true
,权限控制的功能才会起作用。
首先在用户列表创建一个用户
第二步给刚刚创建的用户绑定角色,角色名如果不存在则会创建一个。
第三步,权限管理
现在登录该用户,查看其他命名空间就没有权限了
Nacos Config Client读取配置
我们一旦修改了配置中心的配置文件,客户端能够实时的感受到。
这是现在配置中心中的文件内容
创建一个nacos-config
的服务,创建主启动类文章来源:https://www.toymoban.com/news/detail-430501.html
首先需要在服务中添加依赖文章来源地址https://www.toymoban.com/news/detail-430501.html
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId
到了这里,关于Nacos配置中心中配置文件的创建、微服务读取nacos配置中心的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!