Java小强个人技术博客站点    手机版
当前位置: 首页 >> 开源 >> Nacos配置管理使用初步

Nacos配置管理使用初步

14160 开源 | 2022-1-30

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。


QQ截图20220130155629.jpg


在Nacos控制台添加配置文件


QQ截图20220130155719.jpg

QQ截图20220130155736.jpg


格式和开发中是一样的,这里也是使用YAML文件


服务中,引入nacos-config的客户端依赖:

<!--nacos配置管理依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>


在服务模块中中添加一个bootstrap.yaml文件,内容如下:

spring:
  application:
    name: userservice # 服务名称
  profiles:
    active: dev #开发环境,这里是dev
  cloud:
    nacos:
      server-addr: 192.168.3.22:8848 # Nacos地址
      discovery:
        cluster-name: BJ # 集群 默认DEFAULT
        namespace: 82e1d425-3424-4944-9429-1882d7c67398 # 命名空间
#        ephemeral: false # 是否临时
      config:
        file-extension: yaml # 文件后缀名


这里会根据spring.cloud.nacos.server-addr获取nacos地址,再根据

${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}作为文件id,来读取配置。


使用方式有两种方式


第一种直接使用Value注解

在Controller中增加一个变量

@Value("${blog.name}")
private String blogName;


为了这个配置实现实时更新,在Controller上增加一个注解

@RefreshScope
public class UserController {}


此时使用该变量是从Nacos中读取的,如果在Nacos中变更,客户端这边也会实时收到更新。


第二种是增加一个专门管理配置的类,先注释之前的变量和注解

package cn.itcast.user.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * @Auther: Java小强
 * @Date: 2022/1/30 - 15:44
 * @Decsription: cn.itcast.user.config
 * @Version: 1.0
 */
@Data
@Component
@ConfigurationProperties(prefix = "blog")
public class BlogConfig {
    private String name;
}


然后在Controller中注入该类进行使用即可。

推荐您阅读更多有关于“ 微服务 Nacos 配置管理 ”的文章

上一篇:Centos7上搭建Nacos集群 下一篇:Centos7上安装Nacos

猜你喜欢

发表评论: