当前位置: 首页 > news >正文

古色古香网站模板在阿里巴巴上做网站需要什么软件

古色古香网站模板,在阿里巴巴上做网站需要什么软件,php 网站开发架构,长沙装修公司十大排名目录 背景工具版本SpringCloud配置存放位置及相应优先级代码中nacosjar包外挂 多种配置共同存在时的优先级项目配置管理最佳实践无nacos的情况有nacos的情况 参考文献 背景 公司有很多应用是基于SpringBoot/SpringCloud开发。由于在配置文件中经常会涉及数据库账号密码之类的敏… 目录 背景工具版本SpringCloud配置存放位置及相应优先级代码中nacosjar包外挂 多种配置共同存在时的优先级项目配置管理最佳实践无nacos的情况有nacos的情况 参考文献 背景 公司有很多应用是基于SpringBoot/SpringCloud开发。由于在配置文件中经常会涉及数据库账号密码之类的敏感信息因此之前项目管理过程中配置与代码要求分开管理在打包jar的时候不允许将配置打包到jar中导致在jar启动时需要外挂一个很大的配置文件。以前配置项较少时还好但后来配置项越来越多部署的环境、代码的版本也越来越多之后运维人员一个头两个大经常出现配置版本和代码版本不一致的现象。本文先对SpringCloud及nacos的配置优先级进行研究再提出一种多环境、多版本代码的项目配置管理最佳实践方案。 工具版本 工具名称版本SpringBoot2.7.17SpringCloud2021.0.8Nacos Client Version2021.0.5.0Nacos Server version2.1.2JDK1.8.0_391操作系统win10 SpringCloud配置存放位置及相应优先级 代码中 SpringBoot/SpringCloud应用代码中有四个地方可以存放配置文件文件名统一为application[-profile].propertis/yaml。properties比yaml优先级要高在指定了spring.profiles.active的情况下带profile如dev后缀的比不带profile的高。按优先级低到高排序依次是 classpath根目录即resources根目录classpath下的config目录即resources/config目录项目根目录项目config目录 注意上述3、4位置的配置在mvn package的时候是不会被打包进jar的。而1和2会被打包到代码根目录classes目录 nacos 在使用nacos的情况下只需要添加一个bootstrap.propertis/yaml最新版的nacos已经默认不使用bootstrap了但为了兼容旧的代码此处以bootstrap为例来讲nacos会自动根据prefix默认为spring.application.name、spring.profiles.active、spring.profiles.include、file-extension、shared-configs、extension-configs、group等条件来拼接所要的nacos配置文件名例如下述场景 bootstrap.yaml spring:profiles:include:- includeactive:- dev- dev2bootstrap-dev.yaml spring:cloud:nacos:config:server-addr: 127.0.0.1:8848namespace: testfile-extension: yamlusername: nacospassword: nacosgroup: DEFAULT_GROUPprefix: springcloud_app_config_learningshared-configs:- dataId: springcloud_app_config_learning-shared.yamlgroup: group-sharedextension-configs:- dataId: springcloud_app_config_learning-ext.yamlgroup: group-ext项目启动的时候则会在nacos找如下文件找不到不会报错。由于nacos需要指定文件后缀因此不存在properties与yaml优先级的区别但在有spring.profile.active的情况下带profile的文件优先级一样高于不带profile后缀非共享非扩展配置比共享扩展配置优先级高扩展配置比共享配置优先级高。总的来讲优先级从高到低排序为 优先级文件名group1springcloud_app_config_learning-dev2.yamlDEFAULT_GROUP2springcloud_app_config_learning-dev.yamlDEFAULT_GROUP3springcloud_app_config_learning-include.yamlDEFAULT_GROUP4springcloud_app_config_learning.yamlDEFAULT_GROUP5springcloud_app_config_learningDEFAULT_GROUP6springcloud_app_config_learning-ext.yamlgroup-ext7springcloud_app_config_learning-shared.yamlgroup-shared jar包外挂 主要是指启动jar时使用spring.profiles.active、spring.config.location 以及 spring.config.additional-location 三个命令指定配置。这三命令的功能分别是 命令作用spring.profiles.active指定active的profile如果有此命令则其它区域指定的spring.profiles.active将被覆盖spring.config.location指定jar将从指定的区域找配置并忽略其它区域的配置spring.config.additional-location指定jar从指定的区域寻找配置并同classpath、nacos等区域的配置进行merge 如果使用了spring.config.location例如java -jar application.jar spring.config.location/1.yaml,classpath:/config/2.yaml程序启动时将只会从虚拟机/1.yaml和resources目录下的2.yaml中寻找配置并且不会与其它配置做merge操作。2.yaml优先级高于1.yaml。 在使用 spring.config.additional-location 时会与classpath和nacos中的配置进行mergeadditional-location的优先级高于classpath及nacos。 spring.config.additional-location与spring.profiles.active一起使用时spring.profiles.active的优先级高于spring.config.additional-location中指定的spring.profiles.active。例如java -jar application.jar --spring.config.additional-location/app.yaml --spring.profiles.activetest # app.yaml: spring:profiles:active:- dev多种配置共同存在时的优先级 当同时存在代码、nacos和jar包外挂配置时优先级从高到底是 jar包外挂配置 nacos 代码 归纳一下按优先级从高到低排序 jar运行命令中的spring.config.locationjar运行命令中的spring.profiles.activejar运行命令中的spring.config.additional-locationnacos中带profile的配置当有spring.profiles.active时nacos中spring.profiles.include的配置当有spring.profiles.include时nacos中不带profile的配置nacos中的ext配置nacos中shared配置代码根目录/config/此配置不会打包打jar代码根目录此配置不会打包打jar代码classpath/config即resouces/config)代码classpath根目录 使用spring.config.location时其它位置的配置全部不生效。 不使用spring.config.location时配置优先级从高到低进行merge。 项目配置管理最佳实践 配置文件中的内容可以大体分成两类一类是随着环境需要调整的配置例如mysql、redis、nacos的地址、账号、密码另一类是跟业务相关的配置一般不会随着环境变动。 结合上述配置优先级结合有无nacos两种情况适合多环境开发、部署的配置管理方案为 无nacos的情况 将业务配置放到resources/config/application.yaml中如果有多个profile将最常用的环境的配置置于application.yaml不要加profile其它不常用的环境加上profile后缀。 将环境相关配置以及spring.profiles.include、spring.profiles.active放到根目录/config/application.yaml中。 部署时外挂环境相关配置格式与环境相关配置一致命令为java -jar xxx.jar --spring.config.additional-location/app.yaml 有nacos的情况 将业务配置放到resources/config/application.yaml中如果有多个profile将最常用的环境的配置置于application.yaml不要加profile其它不常用的环境加上profile后缀。 将nacos的配置spring.profiles.include、spring.profiles.active放到根目录/config/bootstrap.yaml中。如果有多个profile将最常用的环境的配置置于bootstrap.yaml不要加profile其它不常用的环境加上profile后缀。不同的profile对应不同的nacos的namespace 将环境相关配置放到nacos中如果有多个profile设置多个namespace 通过java -jar启动时外挂nacos相关配置格式与/config/bootstrap.yaml一致。命令为java -jar xxx.jar --spring.config.additional-location/bootstrap.yaml 打包时与业务相关的配置会随着jar一起发布而与环境有关的配置又跟jar进行了隔离如此运维人员在部署新环境或升级新版本时只需要专注修改与环境相关的少量配置即可既不会造成敏感信息泄露又降低了运维人员变更配置的难度。 参考文献 SpringBoot 配置加载优先级详解 SpringBoot配置及Nacos配置中心加载顺序及覆盖生效优先关系 SpringBoot加载外部/内部配置文件的顺序和覆盖优先级总结 Spring Boot的配置文件加载优先级 SpringBoot配置加载各配置文件优先级对比
http://www.zqtcl.cn/news/436925/

相关文章:

  • 哪些网站容易做网站开发价格
  • 展览网站源码棋牌游戏软件开发
  • 网站开发业务ppt做网站如何放入图像
  • 专业做网站和小程序车载网络设计是干什么的
  • 运城网站建设兼职建设通网站武义巨合汪志刚
  • 广州网站建设公司排行个人介绍网页设计模板图片
  • 东莞营销网站建设多少钱wordpress开场动画
  • 网站建设问题及解决办法网站优化过度的表现
  • html5手机网站教程合肥企业网站营销电话
  • 公司网站引导页建设银行网站怎么登录密码忘了怎么办
  • iis7 网站打不开做兼职哪个网站好
  • 惠州网站制作网站iot物联网平台开发
  • 龙岩门户网站最新仿58同城网站源码
  • 简单的企业小网站南宁最新消息今天
  • 美橙表业手表网站公司推广渠道
  • 大连网站排名优化价格wordpress锚文字
  • 漯河网做网站南京市建设工程档案馆网站
  • 重庆可以建建网站的平台天眼查 企业查询官网
  • gta5单机买房子网站在建设免费建小程序网站
  • 怎么制作网站设计图片劳动保障局瓯海劳务市场和做网站
  • 视屏网站制作青岛平台网站建设
  • asp网站做搜索义乌网站建设工作室
  • .net网站开发环境wordpress添加特效
  • 常州 网站制作如何找专业的网站建设公司
  • 陕西网络营销优化公司seo搜索价格
  • 山东通信局报备网站东营城镇建设规划网站
  • 建设银行如何招聘网站网站开发转包协议
  • 主流网站建设服务器有哪些电商平台
  • 网站与数据库的联系wordpress改为中文
  • 如何不让百度收录网站wix和wordpress比较