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

去哪找做塑料的网站娄底市住房和城乡建设局网站

去哪找做塑料的网站,娄底市住房和城乡建设局网站,wordpress如何定义锚,上海有哪些外贸进出口公司导航引言一、什么是配置中心二、常见的配置中心组件三、Nacos Config 入门四、Nacos Config 动态配置4.1 硬编码方式#xff08;默认支持动态生效#xff09;4.2 属性注入五、配置共享5.1 相同微服务不同环境间共享5.2 不同微服务配置共享六、Nacos Config 的几个概念总结引言… 导航引言一、什么是配置中心二、常见的配置中心组件三、Nacos Config 入门四、Nacos Config 动态配置4.1 硬编码方式默认支持动态生效4.2 属性注入五、配置共享5.1 相同微服务不同环境间共享5.2 不同微服务配置共享六、Nacos Config 的几个概念总结引言 本文介绍 Nacos 作为注册中心的使用方法相关文章《Spring Cloud Alibaba——Nacos实现服务治理》。 一、什么是配置中心 在微服务架构中关于配置信息存在一些问题。 配置文件相对分散不好维护。配置文件不好区分开发、测试、生产环境。配置文件无法实时更新。 针对这些问题引入了配置中心组件其主要思路是 集中配置数据统一管理提供一套标准接口。由各个服务主动拉取配置中心中的配置信息。动态更新。 二、常见的配置中心组件 Apollo 由携程开源的分布式配置中心。特点很多如配置实时生效支持灰度发布功能并能对所有配置进行版本管理、操作审计等功能提供开放平台API文档详尽。Disconf 由百度开源的分布式配置中心底层基于Zookeeper实现配置变更后的实时通知和生效。Spring Cloud Config Spring Cloud 自带的配置中心组件。可以和 Spring 无缝衔接使用方便并且它 配置存储支持Git 。但缺少可视化的操作界面配置也无法实时生效需要重启和刷新。Nacos Spring Cloud Alibaba 技术栈中的一个组件Nacos 除了可以做服务注册中心也兼顾了服务配置中心。 三、Nacos Config 入门 以 Nacos Server 作为 配置中心各个微服务作为客户端将微服务中的配置文件统一存放在 Nacos 上然后各个微服务从 Nacos 上拉取配置。 以 shop-product 微服务为例简单演示下效果。 1、引入 nacos-config 依赖 dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId /dependency2、将配置转移到 Nacos 登录 Nacos 控制台点击新建配置将本地配置粘贴到 Nacos 编辑器中格式选择 yaml。 Data Id 规则 应用名-环境.格式 例如 spring.application.nameservice-product spring.profiles.activedev spring.cloud.nacos.config.file-extensionyaml 那么 data Id 就是 service-product-dev.yaml 3、引入 bootstrap.yml 文件 bootstrap.yml 作为新的引导文件用于拉取 Nacos 上的远程配置信息。 spring boot 配置文件优先级 bootstrap.properties bootstrap.yml application.properties application.yml spring:application:name: service-productprofiles:active: devcloud:nacos:config:server-addr: localhost:8848file-extension: yaml # 配置格式默认是 properties4、测试 启动项目可以正常访问。 四、Nacos Config 动态配置 4.1 硬编码方式默认支持动态生效 硬编码方式通过 Environment 对象提供的 getProperty(key) 来获取配置信息本身就是支持动态更新的。 Autowired private ConfigurableApplicationContext applicationContext;GetMapping(/appName) public String getConfig() {String appName applicationContext.getEnvironment().getProperty(config.appName);return appName; }启动程序请求 appName 接口获取不到任何数据 打开 Nacos Config配置 config.appName 信息并发布 直接重新访问不需要重启即可取得数据 4.2 属性注入 使用 Value(${key}) 的形式完成配置的注入 Value(${config.appName}) private String appName;GetMapping(/appName) public String getConfig() {return appName; }这种方式可以解决硬编码的高耦合问题代码也更优雅是Spring 推荐的使用方式但是这种方式默认是不支持动态刷新配置的需要加入额外的一个类注解——RefreshScope RefreshScope RestController RequestMapping(/config) public class ConfigController {Value(${config.appName})private String appName;GetMapping(/appName)public String getConfig() {return appName;} }五、配置共享 配置共享旨在解决重复配置项的问题。Nacos 支持配置共享即可以将大家都有的重复配置项提取到共享配置中。 5.1 相同微服务不同环境间共享 相同微服务的不同环境的公共配置只需要在配置的 Data Id 上去掉诸如 -dev 等环境标识即可。 例如dev 环境的配置是 service-product-dev.yaml test 环境的配置是 service-product-test.yaml那么公共配置就可以是 service-product.yaml。 把公共的配置信息全部移动到 service-product.yaml 中service-product-dev.yaml 或 service-product-test.yaml 只保留环境特定的配置项即可。 5.2 不同微服务配置共享 可以单独提取一个公共配置例如dataId -- all-service.yaml 然后在各个微服务的 bootstrap.yaml 中加入如下配置 spring:cloud:nacos:config:# ...其他配置...shared-dataids: all-service.yaml # 公共配置refreshable-dataids: all-service.yaml # 动态刷新的配置文件测试以下几个问题 通过shared-dataids引入的公共配置是否可以在不同的微服务之间生效通过shared-dataids引入的公共配置是否可以做到相同微服务不同环境的切换通过refreshable-dataids 表示的 dataId是否可以在不使用 RefreshScope 注解的情况下直接刷新指定配置文件不仅是公共也可能是私有配置的配置项shared-dataids 和 refreshable-dataids 都是复数形式如何配置多个 dataId 在 Nacos Config Server 上指定三个配置文件all-service.yaml、service-product-dev.yaml 和 service-product-test.yaml。它们的配置信息如下 all-service.yaml server:port: 8081tomcat:max-threads: 5 spring:application:name: service-productdatasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/shop?serverTimezoneUTCuseUnicodetruecharacterEncodingutf-8rewriteBatchedStatementstrueusername: rootpassword: 123456cloud:nacos:discovery:server-addr: localhost:8848jpa:properties:hibernate:hbm2ddl:auto: update#InnoDB方言dialect: org.hibernate.dialect.MySQL5InnoDBDialectservice-product-dev.yaml config:appName: productenv: devservice-product-test.yaml config:appName: productenv: test本地 bootstrap.yaml 配置 spring:application:name: service-productprofiles:active: devcloud:nacos:config:server-addr: localhost:8848file-extension: yaml # 配置格式默认是 propertiesshared-dataids: all-service.yaml # 公共配置refreshable-dataids: all-service.yaml # 动态刷新的配置文件测试代码 RestController RequestMapping(/config) public class ConfigController {Value(${config.appName})private String appName;Value(${config.env})private String env;GetMapping(/env)public String getConfig() {return env;} }启动成功说明可以获取公共配置且访问测试接口可以拿到配置信息 修改本地 bootstrap.yaml 配置信息activetest重新启动也可以拿到对应的test环境的配置信息 对于自动刷新问题 对于 refreshable-dataids 配置只针对公共配置有效。自动刷新的生效规则如下 环境配置 必须使用 RefreshScope 的方式动态生效且不需要增加其他额外配置 公共配置 不仅要使用 RefreshScope还要增加 refreshable-dataids 令其支持自动刷新 如果想引入多个共享配置可以使用逗号分隔 spring:cloud:nacos:config:shared-dataids: all-service.yaml,common.yaml # 公共配置refreshable-dataids: all-service.yaml,common.yaml # 动态刷新的配置文件六、Nacos Config 的几个概念 1、命名空间Namespace 命名空间可用于进行不同环境的配置隔离。一般一个环境划分到一个命名空间。 可以在 Nacos 上新建命名空间 若希望引用不同命名空间的配置可以在 bootstrap.yaml 中加入 namespace: 命名空间ID : spring:cloud:nacos:config:namespace: 835f29bd-4cf8-4bd7-9ace-462a69643bd42、配置分组Group 配置分组可以将不同的服务归类到同一个分组。一般以项目为单位这个项目下的所有微服务的配置放到同一个组。 3、配置集Data ID 在系统中一个配置文件通常就是一个配置集。一般微服务的配置就是一个配置集。 总结 如何使用Nacos 配置中心只需要在项目本地引入 bootstrap.yaml 文件并配置如下信息就可以拉取 Nacos Config Server 上的远程配置 spring:application:name: service-productprofiles:active: testcloud:nacos:config:server-addr: localhost:8848 # Nacos 地址file-extension: yaml # 配置格式默认是 properties关于共享配置经过实际测试有以下几点重要规则 1、同一微服务公共配置项可直接以 ${spring.application.name}.yaml 来命名 DataId视为共享配置。 1、在本地的 bootstrap.yaml 中使用 shared-dataids 和 refreshable-dataids 来指定共享配置 2、多共享配置的格式注意引号shared-dataids: ‘all-service.yaml,common.yaml’ 3、refreshable-dataids 用于设置共享配置是否支持动态刷新至于要不要动态刷新还需要使用 RefreshScope 。也就是说如果希望共享配置动态刷新不仅要指定 refreshable-dataids还需要配置 RefreshScope。 4、环境配置的动态刷新只受 RefreshScope 影响不需要额外指定 refreshable-dataids。 5、配置重复问题。多个共享配置都包含重复的配置项则以 bootstrap.yaml 中 shared-dataids 配置项靠后的共享配置为准。如两个共享配置 all.yaml 和 common.yaml都包含 appName 配置项如果 shared-dataids‘all.yaml,common.yaml’则以 common.yaml 中的配置信息为准。 共享配置和环境配置的配置项重复以环境配置的配置项为准。
http://www.zqtcl.cn/news/727492/

相关文章:

  • 网站建设的需求怎么写网站头条怎么做
  • 宜春seoseo网站自动推广
  • 张家界酒店网站建设人人设计网网址
  • 电脑系统做的好的网站什么网站做一手房好
  • 为什么用MyEclipse做网站上海境外输入
  • 做的比较好的小众网站go 是做网站的吗
  • 手机网站快速建设网站接入支付宝需要网站备案吗
  • 贵州省住房城乡建设厅网站农业营销型网站源码
  • 网站开发使用哪种语言wordpress 免费主机
  • 山东免费网站制作绿色食品网站模板
  • 做搜狗网站优化点广州网站开发人
  • 网站建设违法行为广东seo快速排名
  • 体育彩票网站开发该做哪些步骤深圳网站建设策划方案
  • 金华网站建设电话做网站用虚拟机还是服务器
  • 整容医院网站建设目的顺企网贵阳网站建设
  • 微网站 htmlseo做的好的网站
  • 免费做网站推荐东平网页设计
  • 所有复刻手表网站wordpress 标题简码
  • 云南建设厅建设网站首页网站建设s
  • 网站用户需求报告网站充值怎么做的
  • 找代码的网站有一个网站是做釆购的是什么网
  • 做外贸最好的网站有哪些php网站开发工程师待遇
  • 做推文封面的网站首页>新闻>正文 网站怎么做
  • 黄页推广引流网站企业网站导航菜单
  • 合肥专门做网站的公司广告代理商是什么意思
  • wordpress显示一个类目seo推广
  • 营销型电子商务网站特点如何申请免费空间和域名
  • 网站建设 主要学是么vk汉化网站谁做的
  • 做英文网站费用多少学校网站开发毕业设计
  • 红动中国设计网站官网网页制作的论文