[Nacos] nacos config 配置中心相关

文章详细介绍了Nacos配置中心的客户端配置,包括无需bootstrap.yml的情况,仅使用application.yml的配置示例,以及spring.config.import的用法。同时,提到了服务端升级至2.2.3版本时需要注意的额外端口配置和鉴权设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

!!! 以下内容仅为个人理解,仅供参考,感谢批评指正 @Coder_Sean !!!

*版本说明

  • nacos-server.version: 2.1.1(当前官网推荐稳定版本)
  • nacos-client.version: 2.2.1(sca 2022 RC2的默认版本)
  • jdk.version: 17
  • spring-boot.version: 3.0.8 (当前不支持3.1.1,与RC2对应版本为3.0.2)
  • spring-cloud-alibaba.version: 2022.0.0.0-RC2
  • 当前时间 ~ 2023.07
  • sca = spring cloud alibaba

* 资料参考

sca 对应版本说明: github alibaba wiki 版本说明

spring官网文档: Spring Cloud Alibaba 2022.0.x版本 参考文档(中文)
spring官网spring cloud alibaba 项目的 Reference Doc.

spring cloud alibaba 的官方站用户指南: spring cloud alibaba 用户指南

spring官网文档: spring cloud config
This quick start walks through using both the server and the client of Spring Cloud Config Server.

spring中文社区文档: spring cloud config
本快速入门指南介绍了Spring Cloud Config Server 的服务器和客户端的使用情况。

nacos官方文档: nacos quick start

1. 客户端配置相关

1.1 无需增加bootstrap.yml(properties)配置

在这里插入图片描述

1.2 只使用application.yml配置代码示例

spring:
 application:
   name: app-name
 profiles:
   active: dev
   
 cloud:
   nacos:
     config:
       server-addr:  xxxxxx:8848       
     # discovery:
       # server-addr:  xxxxxx:8848  
   	
 config:
   import:
     - optional:nacos:xxxxxx.yml
     - nacos:xxxxxx-dev.yml
     - nacos:yyyyy.yml?group=DEFAULT_GROUP&refreshEnabled=false

1.3 spring.config.import 配置说明

spring.config.import本身是springboot的配置项, 可以用来引入其他来源的配置:

  • 基本格式: - optional:nacos:xxxxxx.yml?key1=val1&key2=val2 ,本质是个url
  • optional: 省略不写optional:相当于spring.cloud.config.fail-fast=true,开启客户端快速失败
  • 参数: 配置来自nacos的配置时key可以配置group=DEFAULT_GROUP,refreshEnabled=true,参考nacos配置等后续再补充
  • server-addr: 可以配置到spring.cloud.nacos.server-addr这层,相当于同时配置了config和discover的server-addr,不用写两遍
  • 局限性:
    • 牺牲了使用bootstrap时 nacos 本身一些读取配置方式,如默认${spring.application.name}-${profile}.${file-extension:properties}各种粒度的默认读取,需要显式写入到import,如nacos:${spring.application.name}.${spring.cloud.nacos.config.file-extension}
    • namespace/Group配置, 自定义扩展的 Data Id 配置等, 这些配置都需要通过import配置的url后面的参数控制

例如namespace配置

1.4 其他配置

  • 监控相关配置: 这部分是nacos监控相关配置,需要spring-boot-starter-actuator依赖,根据需要参阅相关文档进行配置
# 官方示例可能包含如下内容:
management:
  endpoint:
    health:
      show-details: always
  endpoints:
    web:
      exposure:
        include: '*'

2 服务端升级2.2.3版本

1 服务端配置

  • 开启额外端口 98489849 作为grpc通信相关端口, 否则客户端报如下错误
    2023-07-07T10:29:33.765+08:00 ERROR 20504 --- [t.remote.worker] c.a.n.s.i.g.i.ManagedChannelImpl         : [Channel<45>: 		 (kubersphere.lczhonggu.com:31868)] Uncaught exception in the SynchronizationContext. Panic!
    com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNKNOWN: Uncaught exception in the SynchronizationContext. Re-thrown.
    ...
    ...
    Caused by: com.alibaba.nacos.api.exception.NacosException: Client not connected, current status:STARTING	
    
  • 默认不开启鉴权, 视nacos网络环境开启 nacos服务端如何开启鉴权
  • 客户端鉴权配置
    spring:
      cloud:
        nacos:
          server-addr: xxxxx:8848
          username: username
          password: password
    
  • 强鉴权插件用法: 后面再说吧~

!!! 转载请注明出处,3Q~ !!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值