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

免费培训学校网站源码网站not found

免费培训学校网站源码,网站not found,柳州建设网站经济适用房表格,wordpress防止机器评论文章目录 Nacos 配置管理一、统一配置管理1、在Nacos 中添加配置文件2、从微服务拉取配置3、配置实现步骤(1)引入 nacos-config 依赖(2)添加 bootstrap.yml(4)在 nacos 中添加配置 二、配置热更新1、配置热…

文章目录

    • Nacos 配置管理
      • 一、统一配置管理
        • 1、在Nacos 中添加配置文件
        • 2、从微服务拉取配置
        • 3、配置实现步骤
          • (1)引入 nacos-config 依赖
          • (2)添加 bootstrap.yml
          • (4)在 nacos 中添加配置
      • 二、配置热更新
        • 1、配置热更新的两种方式
          • (1)方式一
          • (2)方式二
      • 三、配置共享
        • 1、通服务内配置共享
        • 2、不同微服务共享配置

Nacos 配置管理

Nacos除了可以做注册中心,同样可以做配置管理来使用

一、统一配置管理

当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • Nacos一方面可以将配置集中管理
  • 另一方可以在配置变更时,及时通知微服务,实现配置的热更新

常见的服务配置中心:

  • Apollo是由携程开源的分布式配置中心。特点有很多,比如:配置更新之后可以实时生效,支持灰度发布功能,并且能对所有的配置进行版本管理、操作审计等功能,提供开放平台API。并且资料也写的很详细
  • Disconf是由百度开源的分布式配置中心。它是基于Zookeeper来实现配置变更后实时通知和生效的
  • SpringCloud Config这是Spring Cloud中带的配置中心组件。它和Spring是无缝集成,使用起来非常方便,并且它的配 置存储支持Git。不过它没有可视化的操作界面,配置的生效也不是实时的,需要重启或去刷新。
  • **Nacos **这是 Sping Cloud alibaba 技术栈中的一个组件,前面我们已经使用它做过服务注册中心。其实它也集成了服务配置的功能,我们可以直接使用它作为服务配置中心。

1、在Nacos 中添加配置文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注意:

  • 项目的核心配置,需要热更新的配置才有放到nacos管理的必要
  • 基本不会变更的一些配置还是保存在微服务本地比较好

2、从微服务拉取配置

微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动。

但如果尚未读取application.yml,又如何得知nacos地址呢?

因此spring引入了一种新的配置文件: bootstrap.yaml文件,会在application.yml之前被读取

流程如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3、配置实现步骤

(1)引入 nacos-config 依赖
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> 
</dependency>
(2)添加 bootstrap.yml

不能使用原来的application.yml作为配置文件,而是新建一个bootstrap.yml作为配置文件

配置文件优先级(由高到低):

  • bootstrap.properties -> bootstrap.yml -> application.properties -> application.yml
spring:application:name: service-productcloud:nacos:config:server-addr: 127.0.0.1:8848 #nacos中心地址file-extension: yaml # 配置文件格式profiles:active: dev # 环境标识,开发环境
(4)在 nacos 中添加配置

二、配置热更新

最终的目的,是修改nacos中的配置后,微服务中无需重启即可让配置生效,也就是配置热更新

配置中心添加配置

config:appName: product

1、配置热更新的两种方式

(1)方式一

在@Value注入的变量所在类上添加注解@RefreshScope:

@RestController
@RefreshScope//只需要在需要动态读取配置的类上添加此注解就可以
public class NacosConfigController {@Value("${config.appName}")private String appName; @GetMapping("/nacos-config-test1") public String nacosConfingTest1() {return appName;} 
}
(2)方式二

硬编码方式

@RestController 
public class NacosConfigController {@Autowired private ConfigurableApplicationContext applicationContext; @GetMapping("/nacos-config-test2") public String nacosConfingTest2() { return applicationContext.getEnvironment().getProperty("config.appName"); }
}

三、配置共享

当配置越来越多的时候,我们就发现有很多配置是重复的,这时候就考虑可不可以将公共配置文件提取出来

1、通服务内配置共享

实现步骤:

  1. 新建一个以 spring.application.name 命名的配置文件,然后将其所有环境的公共配置放在里面

  2. 新建一个名为service-product-test.yaml配置存放测试环境的配置

  3. 新建一个名为service-product-dev.yaml配置存放开发环境的配置

  4. 在两个环境文件中配置独有信息

    #多配置一段
    config:env: test#多配置一段
    config:env: dev	
    
  5. 添加测试方法

    @RestController 
    @RefreshScope
    public class NacosConfigController {@Value("${config.env}")private String env; //3 同一微服务的不同环境下共享配置@GetMapping("/nacos-config-test3") public String nacosConfingTest3() { return env; }
    }
    

2、不同微服务共享配置

不同服务之间实现配置共享的原理类似于文件引入,就是定义一个公共配置,然后在当前配置中引入

  1. 在nacos中定义一个DataID为all-service.yaml的配置,用于所有微服务共享

    spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql:///shopserverTimezone=UTCusername: root password: root cloud:nacos: discovery: server-addr: 127.0.0.1:8848
    
  2. 修改 bootstrap.yaml

    spring: application: name: service-product cloud: nacos: config: server-addr: 127.0.0.1:8848 #nacos中心地址 file-extension: yaml # 配置文件格式 shared-dataids: all-service.yaml # 配置要引入的配置refreshable-dataids: all-service.yaml # 配置要实现动态配置刷新的配置 		profiles: active: dev # 环境标识
    
  3. 启动微服务进行测试

共享配置的优先级

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

http://www.yayakq.cn/news/661434/

相关文章:

  • 企业网站建设规划书ppt做企业手机网站
  • 网站建设用什么写wordpress 视频缩略图
  • 网站建设沧州源码商城源码
  • 商城网站开发周期做网站优化常用工具
  • 做字画的网站谷城县城乡建设局网站
  • 网站设计方案要怎么写微信免费做邀请函模版网站
  • 公司网站的设计方案2网站建设公司
  • 新网站建设服务做创意ppt网站有哪些方面
  • 专业北京网站建设公司哪家好有实力的网站排名优化软件
  • 电子商务网站建设员自己的网站统计输入词
  • 有哪些比较好的企业网站建设网页制作代码html添加音乐
  • 建设企业营销型网站衡阳营养师报考网站
  • 烟台做网站工资游乐园网站建设
  • 西安网站建设行业企业建站程序有哪些
  • 企业为什么要做网站建设施工企业质量管理体系文件中质量方针需经过()批准后生效。
  • 双域名网站免费建立网站论坛
  • 网站架构规划西安的电子商城网站建设
  • 兴义市 网站建设销售外包
  • 目前做网站框架微信扫码即可打开的网站如何做
  • 嵊州哪里可以做网站网站建设的步骤图片过程
  • 网站宽屏整合营销传播的定义
  • 微网站制作方案wordpress php函数大全
  • 怎样拍照产品做网站企业邮箱购买
  • 网站做301跳转的作用在线设计闪字图片
  • 试玩平台网站怎么做个人做搜索引擎网站违法吗
  • miit网站备案平面设计师常用的素材网站
  • wordpress网站背景专业分销电商平台
  • 如何做好网站推广工作网站字体效果
  • 网站推广和宣传的方法石大网页设计与网站建设客观题
  • 安全培训网站网站制作什么语言最好