美文网首页
Nacos-SpringCloud

Nacos-SpringCloud

作者: 不敲代码罪名 | 来源:发表于2019-07-16 12:03 被阅读0次

    依赖和相关配置

    1. 添加依赖
      注意:版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。
    <dependency>
        <groupId>com.alibaba.boot</groupId>
        <artifactId>nacos-config-spring-boot-starter</artifactId>
        <version>${latest.version}</version>
    </dependency>
    <dependency>
        <groupId>com.alibaba.boot</groupId>
        <artifactId>nacos-discovery-spring-boot-starter</artifactId>
        <version>${latest.version}</version>
    </dependency>
    

    在项目下src/main/resources下新建bootstrap.properties,填写nacosService的配置

    server.port=8899
    spring.cloud.nacos.config.server-addr=127.0.0.1:8848
    #spring.cloud.nacos.config.namespace=93dfcb0d-6d95-4e31-ae0d-709e660d0815
    spring.application.name=provider
    spring.profiles.active=prod
    spring.cloud.nacos.config.prefix=demo-config
    spring.cloud.nacos.config.file-extension=properties
    spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
    spring.cloud.nacos.discovery.cluster-name= prod
    spring.cloud.inetutils.preferred-networks=192.168
    
    还有一些可选配置说明 nacos.springcloud.discovery配置.png

    配置管理

    在 Nacos Spring Cloud 中,dataId 的完整格式如下:

    ${prefix}-${spring.profile.active}.${file-extension}
    
    • prefix默认为 spring.application.name的值,当配置了 spring.cloud.nacos.config.prefix时,prefix为spring.cloud.nacos.config.prefix时的值。
    • spring.profile.active即为当前环境对应的 profile, 注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
    • file-exetension为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 propertiesyaml 类型。
      我们根据上面配置文件bootstrap.properties定位到的是Nacos配置中心的配置集是
      NameSpace: public
      Group: DEFAULT_GROUP
      DataId: demo-config-prod.properties
      在nacosService的控制后台上新建配置 QQ截图20190716111956.png
      这样在项目代码中可以通过@Value或@NacosValue注解访问到配置内容
        @Value("${test}")
        String test;
    
        @NacosValue(value = "${myspringboot:myspringboot}",autoRefreshed = true)
        String springboot;
    

    @RefreshScope+@Value可以实现热加载配置
    @NacosValue(value = "${myspringboot:myspringboot}",autoRefreshed = true)没有测试初热加载有效,暂时不知问题所在

      INFO 9312 --- [-127.0.0.1_8848] o.s.c.e.event.RefreshEventListener       : Refresh keys changed: [test, myspringboot]
    

    灰度配置

    灰度配置指的是指定部分客户端IP进行新配置的下发,其余客户端配置保持不变,用以验证新配置对客户端的影响,保证配置的平稳发布。灰度配置是生产环境中一个比较重要的功能,对于保证生产环境的稳定性非常重要。在1.1.0中,Nacos支持了以IP为粒度的灰度配置,具体使用步骤如下:

    1. 在配置列表页面,点击某个配置的“编辑配置”按钮:
    image.pngimage.png
    1. 勾选“Beta发布”,在文本框里填入要下发配置配置的IP,多个IP用逗号分隔:
    image.pngimage.png
    1. 修改配置内容,点击“发布Beta”按钮,即可完成灰度配置的发布:
    image.pngimage.png
    1. 点击“发布Beta”后,“发布Beta”按钮变灰,此时可以选择“停止Beta”或者“发布”。“停止Beta”表示取消停止灰度发布,当前灰度发布配置的IP列表和配置内容都会删除,页面回到正常发布的样式。“发布”表示将灰度配置在所有客户端生效,之前的配置也会被覆盖,同时页面回到正常发布的样式

    服务注册

    暂空

    Spring/SpringBoot下的一些:

    暂空

    相关文章

      网友评论

          本文标题:Nacos-SpringCloud

          本文链接:https://www.haomeiwen.com/subject/nudzkctx.html