【精选】最新版Spring Cloud Alibaba微服务架构 |
您所在的位置:网站首页 › nacos测试环境和生产环境切换 › 【精选】最新版Spring Cloud Alibaba微服务架构 |
文章目录
前言一、Config引入背景1、文件相对分散2、无法区分环境3、无法实时更新4、安全无法保证
二、Config引入配置1、配置文件格式1.1 命名空间(Namespace)1.2 配置分组(Group)1.3 配置集(Data ID)
2、导入pom依赖3、新建配置文件4、添加bootstrap.yml配置文件5、测试6、配置的动态更新7、命名空间8、权限控制9、配置文件读取权限控制1.1 新建用户1.2 绑定角色1.3 角色授权1.4 用户登录测试
总结
前言
Spring Cloud Alibaba Nacos Config 是 Config Server 和 Client 的替代方案,客户端和服务器上的概念与 Spring Environment 和 PropertySource 有着一致的抽象,在特殊的 bootstrap 阶段,配置被加载到 Spring 环境中。当应用程序通过部署管道从开发到测试再到生产时,您可以管理这些环境之间的配置,并确保应用程序具有迁移时需要运行的所有内容。 在一个微服务架构下,配置文件会随着微服务的增多,而变的越来越多,而且分散在各个微服务中,不好统一配置和管理,为了适应微服务的各个服务配置,我们引入了统一的Nacos配置管理中心来帮我们更加方便、安全的来管理我们的配置文件。 一、Config引入背景 1、文件相对分散在一个微服务架构下,配置文件随着微服务的增多而增多,比较分散,不好统一配置和管理。 2、无法区分环境微服务项目可能会有多个环境,例如:测试环境、开发环境、生产环境等等,每一个环境下的配置可能都不相同,手动切换很不方便。 3、无法实时更新我们修改了配置文件之后,必须重新启动微服务才能使配置生效,无法达到服务的时效性。 4、安全无法保证我们的配置文件当中,存储了很多安全信息,比如IP、账号、密码,必然会存在安全问题。 二、Config引入配置本篇文章我们使用的是Nacos的Config配置中心,可能大家都使用并且听过其他配置中心,比如Spring Cloud Config配置中心,并且它的配置存储支持Git,不过它没有可视化的操作界面,配置的生效也不是实时的,需要重启或去刷新。以及其他的一些配置中心,比如Disconf、Apollo等,大家有兴趣可以去研究一下,本篇我们只研究Nacos的Config配置中心。 1、配置文件格式 1.1 命名空间(Namespace)命名空间可用于进行不同环境的配置隔离,一般一个环境划分到一个命名空间。 1.2 配置分组(Group)配置分组用于将不同的服务可以归类到同一分组,一般将一个项目的配置分到一组。 1.3 配置集(Data ID)在系统中,一个配置文件通常就是一个配置集,一般微服务的配置就是一个配置集。 在 Nacos Spring Cloud 中,dataId 的完整格式如下: ${prefix}-${spring.profile.active}.${file-extension}prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。 spring.profile.active 即为当前环境对应的 profile(如、开发环境、测试环境、生产环境、预发布环境) file-exetension 为配置内容的数据格式,目前只支持 properties 和 yaml 类型。 2、导入pom依赖 com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config 3、新建配置文件
注意当你使用域名的方式来访问 Nacos 时,spring.cloud.nacos.config.server-addr 配置的方式为 域名:port。 例如 Nacos 的域名为abc.com.nacos,监听的端口为 80,则 spring.cloud.nacos.config.server-addr=abc.com.nacos:80。 注意 80 端口不能省略。 5、测试打印输出我们自定义的配置信息:
上面我们在启动类中,获取到了我们自定义的参数,下面再来简绍一种使用注解的方式获取参数,spring-cloud-starter-alibaba-nacos-config 也支持配置的动态更新,新建一个控制器,只需要在需要动态读取配置的类上添加此注解就可以。 @RefreshScope http://localhost:8084/api/getParams
当我们打开控制台查看记录,可以发现,config已经动态更新了我们的配置: 在上面我们使用了默认的命名空间public,但在实际业务开发中,我们并不会使用默认的public命名空间来配置。
修改Nacos配置文件,开启权限认证,重新启动nacos。
在实际生产当中,我们为了保障配置文件的安全性,一部分开发人员只能有只读权限或者只写权限,那么我们也可以新增不同的用户绑定不同的角色,从而操作不同的配置文件。 1.1 新建用户当我们配置好了用户角色、权限之后,我们使用刚刚创建的账号admin登录,验证他是否只有只读权限。 然后我们切换到publish空间对配置文件进行修改: 我不敢休息,因为我没有存款;我不敢说累,因为我没有成就;我不敢偷懒,因为我还要生活;我能放弃选择,但是我不能选择放弃。所以坚强,拼搏是我唯一的选择。 本篇文章结束了,后面我们再继续深入研究微服务其他的组件的使用以及原理剖析,创作不易,喜欢的请关注小编CSDN:https://blog.csdn.net/qq_41107231 以及掘金:https://juejin.cn/user/3940246036699848 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |