Nacos 服务配置

1、命名空间

Nacos部署完成后,进入管理端,创建项目对应的命名空间,如此处的Jeebiz-Cloud

2、配置管理

通过以下界面手动配置各个服务的配置:

例如添加一个ID为 jeebiz-authz-local.yaml 的配置文件:

内容就是smartedu-attendance-signin服务下的 application-local.yaml的内容!

在程序配置中配置 bootstrap.properties

此处以 bootstrap-local.properties 为例:

spring.main.allow-bean-definition-overriding=true
# Nacos 控制台添加配置:
# https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html
#在 Nacos Spring Cloud 中,dataId 的完整格式如下:
#${prefix}-${spring.profile.active}.${file-extension}
#1、prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
#2、spring.profile.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变
#3、file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。
management.endpoints.web.exposure.include=*
#   配置内容
spring.application.name=jeebiz-cloud-authz
spring.profiles.active=local

# Nacos配置中心
spring.cloud.nacos.config.enabled=true
#nacos config dataId prefix
spring.cloud.nacos.config.prefix=${spring.application.name}
#namespace, separation configuration of different environments.
spring.cloud.nacos.config.namespace=Jeebiz-Cloud
#access key for namespace
#spring.cloud.nacos.config.access-key=nacos
#secret key for namespace
#spring.cloud.nacos.config.secret-key=nacos
#endpoint for Nacos, the domain name of a service, through which the server address can be dynamically obtained.
#spring.cloud.nacos.config.endpoint=
#nacos config server address
spring.cloud.nacos.config.server-addr=192.168.2.188:8848
#cluster name for nacos server.
#spring.cloud.nacos.discovery.cluster-name
#nacos config group, group is config data meta info.
spring.cloud.nacos.config.group=DEFAULT_GROUP
#context path for nacos config server.
spring.cloud.nacos.config.context-path=nacos
#encode for nacos config content.
spring.cloud.nacos.config.encode=UTF-8
#the suffix of nacos config dataId, also the file extension of config content.
# 指定配置的后缀,支持 properties、yaml,默认为 properties
#spring.cloud.nacos.config.file-extension=properties
spring.cloud.nacos.config.file-extension=yaml
#timeout for get config from nacos.
spring.cloud.nacos.config.timeout=3000

# Nacos注册中心
spring.cloud.service-registry.auto-registration.enabled=true
spring.cloud.nacos.discovery.enabled=true
#whether your service is a https service
spring.cloud.nacos.discovery.secure=false
#cluster name for nacos server.
#spring.cloud.nacos.discovery.cluster-name
#namespace, separation registry of different environments.
#spring.cloud.nacos.discovery.namespace=Jeebiz-Cloud
#access key for namespace
#spring.cloud.nacos.discovery.access-key=nacos
#secret key for namespace
#spring.cloud.nacos.discovery.secret-key=nacos
#the domain name of a service, through which the server address can be dynamically obtained.
#spring.cloud.nacos.discovery.endpoint=
#nacos discovery server address
spring.cloud.nacos.discovery.server-addr=192.168.2.188:8848
#weight for service instance, the larger the value, the larger the weight.
spring.cloud.nacos.discovery.weight=5
#watch delay,duration to pull new service from nacos server.
spring.cloud.nacos.discovery.watch-delay=30000
#nacos naming log file name
#spring.cloud.nacos.discovery.log-name=nacos
#extra metadata to register.
spring.cloud.nacos.discovery.metadata.name=${swagger.title}
spring.cloud.nacos.discovery.metadata.detail=${swagger.description}
spring.cloud.nacos.discovery.metadata.version=${swagger.version}

注意其中标记序号的部分:

  • 1、{spring.application.name}-{spring.profiles.active}.yaml Nacos中的配置文件
  • 2、该部分指定配置拉取地址
  • 3、该部分指定注册中心地址
  • 4、额外的元信息配置,看用于监控区别服务信息

服务启动时,会尝试从配置中心检查 {spring.application.name}-{spring.profiles.active}.yaml 对应配置文件是否存在,如果存在则会自动拉取下来和本地配置进行合并,作为服务启动的配置项。

2、服务管理

服务注册成功后,可在nacos看到如下结果:

作者:Jeebiz  创建时间:2019-10-13 15:54
 更新时间:2023-01-09 16:42