nacos2.0案例(4)配置服务器应用

nacos2.0案例(4)配置服务器应用

启动Nacos2.0服务

修改生产者微服务hhd-hplat-provider

添加依赖

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

创建配置文件

bootstrap.yml

server:
  port: 8081
spring:
  application:
    name: nacos-provider

  cloud:
    nacos:
      config:
        server-addr: localhost:8848
        file-extension: yaml
  profiles:
    active: dev

#创建application-dev.yml

spring:
  cloud:  #nacos注册中心地址的配置法
    nacos:
      discovery:
        server-addr: localhost:8848  # nacos 注册中心的地址
        enabled: true # 关闭/启动nacos的注册中心功能
        #ip: provider-xxx # 配置nacos的ip 地址

management:
  endpoints:
    web:
      exposure:
        include: "*"
girl:
  name: happy

创建application-prod.yml

spring:
  cloud:  #nacos注册中心地址的配置法
    nacos:
      discovery:
        server-addr: localhost:8848  # nacos 注册中心的地址
        enabled: true # 关闭/启动nacos的注册中心功能
        #ip: provider-xxx # 配置nacos的ip 地址

management:
  endpoints:
    web:
      exposure:
        include: "*"
girl:
  name: alibaba

修改EchoController

增加@RefreshScope类注解

增加代码

    @Value("${girl.name}")
    private String userName ;



    @GetMapping("/getname")
    public ResponseEntity<String> getname(){
        return ResponseEntity.ok("获取的配置信息为:"+userName) ;
    }

启动主程序

访问http://127.0.0.1/getname
切换bootstrap.yml 中的spring.profiles.active 的值为dev和prod 可以看到显示的内容不同。

在nacos中创建配置文件

Data Id:nacos-provider-dev.yaml
group:DEFAULT_GROUP
配置格式:yaml
配置内容:

spring:
  cloud:  #nacos注册中心地址的配置法
    nacos:
      discovery:
        server-addr: localhost:8848  # nacos 注册中心的地址
        enabled: true # 关闭/启动nacos的注册中心功能
        #ip: provider-xxx # 配置nacos的ip 地址

management:
  endpoints:
    web:
      exposure:
        include: "*"
girl:
  name: alill

发布后,访问接口:http://127.0.0.1/getname
查看返回内容是否改变。

注意事项:

bootstrap.yml 中的spring.cloud.nacos.config.file-extension=yml时,需要在nacos 中的data Id的扩展名也是.yml
如果是yaml 时,需要在nacos 中的data Id的扩展名也是.yaml
否则获取不到值。

bootstrap.yml 中的spring.cloud.nacos.config.file-extension=为其他格式时,data ID 的扩展明年也要做相应的调整。

#配置文件名规则

dataId :格式如下 ${prefix} - ${spring.profiles.active} . ${file-extension}

prefix 默认为 spring.application.name 的值

spring.profiles.active 当前环境对应的 profile

file-extension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension来配置。

group 默认DEFAULT_GROUP

当activeprofile 为空时直接填写 spring.application.name值即可 默认properties

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nacos是一个开源的服务发现和配置管理平台,Nacos 2.0 是其中的一个重要版本。下面我来回答关于Nacos 2.0的一些面试题。 1. Nacos 2.0 有哪些新特性? Nacos 2.0 引入了许多新特性,包括但不限于: - Nacos Server支持嵌入式数据库,用于高效管理和存储配置信息。 - 支持在集群环境下使用嵌入式数据库,提高配置信息的可用性和一致性。 - 引入了灰度发布功能,可以在不影响现有服务的情况下进行新版本的测试和发布。 - 支持多Namespace,可以为不同的场景创建不同的命名空间,方便信息隔离和管理。 - 引入了OpenAPI规范,可以通过RESTful API进行更加灵活和强大的配置管理。 - 提供更加便捷的UI界面,提供更好的用户使用体验。 2. Nacos 2.0 如何实现高可用性? Nacos 2.0通过使用嵌入式数据库和集群环境来实现高可用性。嵌入式数据库可以在Nacos Server中进行高效的数据管理和存储,保证了配置信息的可用性和一致性。同时,Nacos支持在集群环境下运行多个Nacos Server实例,配置信息会在这些实例之间进行同步和复制,当其中一个实例发生故障时,其他实例可以自动接管服务,保证了高可用性。 3. Nacos 2.0 如何实现灰度发布功能? Nacos 2.0通过引入灰度发布功能,使得在不影响现有服务的情况下进行新版本的测试和发布成为可能。在Nacos中,可以为特定服务实例或特定目标服务提供不同的配置信息,如权重、版本信息等,从而控制新版本的流量比例,实现灰度发布。这样可以逐步验证和稳定新版本,最终实现全量发布。 总的来说,Nacos 2.0在高可用性、灰度发布等方面都进行了优化和改进,提供了更加稳定可靠和灵活强大的功能,使得其在微服务架构中扮演了重要的角色。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值