springcloud alibaba-Nacos

本文介绍Nacos作为服务发现、配置管理和动态DNS的开源平台,详细指导如何使用Nacos进行服务注册与发现,以及如何将其作为配置中心统一管理配置。通过实际步骤演示,包括依赖引入、配置文件设置和动态获取配置接口。

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

Nacos是阿里巴巴开源的一个更易于构建云原生应用的动态范围发现,配置管理和服务管理平台,使用java编写,需要依赖java环境

文档地址:https://nacos.io/zh-cn/docs/quick-start.html

gitbub地址:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md

官方文档:https://github.com/alibaba/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/readme-zh.md

Nacos Discovery Example

1.首先,修改 pom.xml 文件,引入 Nacos Discovery Starter。

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

2.在应用的 /src/main/resources/application.properties 配置文件中配置 Nacos Server 地址

 spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

3.使用 @EnableDiscoveryClient 注解开启服务注册与发现功能

 @SpringBootApplication
 @EnableDiscoveryClient
 public class ProviderApplication {

 	public static void main(String[] args) {
 		SpringApplication.run(Application.class, args);
 	}

 	@RestController
 	class EchoController {
 		@GetMapping(value = "/echo/{string}")
 		public String echo(@PathVariable String string) {
 				return string;
 		}
 	}
 }

启动 Nacos Server

  1. 首先需要获取 Nacos Server,支持直接下载和源码构建两种方式。

    1. 直接下载:Nacos Server 下载页
    2. 源码构建:进入 Nacos Github 项目页面,将代码 git clone 到本地自行编译打包,参考此文档推荐使用源码构建方式以获取最新版本
  2. 启动 Server,进入解压后文件夹或编译打包好的文件夹,找到如下相对文件夹 nacos/bin,并对照操作系统实际情况之下如下命令。

    1. Linux/Unix/Mac 操作系统,执行命令 sh startup.sh -m standalone
    2. Windows 操作系统,执行命令 cmd startup.cmd

应用启动

  1. 增加配置,在 nacos-discovery-provider-example 项目的 /src/main/resources/application.properties 中添加基本配置信息

     spring.application.name=service-provider
     server.port=18082
    
  2. 启动应用,支持 IDE 直接启动和编译打包后启动。

    1. IDE直接启动:找到 nacos-discovery-provider-example 项目的主类 ProviderApplication,执行 main 方法启动应用。
    2. 打包编译后启动:在 nacos-discovery-provider-example 项目中执行 mvn clean package 将工程编译打包,然后执行 java -jar nacos-discovery-provider-example.jar启动应用。

验证

查询服务

在浏览器输入此地址 http://127.0.0.1:8848/nacos/v1/ns/catalog/instances?serviceName=service-provider&clusterName=DEFAULT&pageSize=10&pageNo=1&namespaceId=,并点击跳转,可以看到服务节点已经成功注册到 Nacos Server。

二、如何使用nocos作为配置中心统一管理配置

2.1 引入依赖

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

2.2 创建一个bootstrap.properties

#配置中心的名字 
spring.application.name=nacos-config-example
#配置中心的地址
 spring.cloud.nacos.config.server-addr=127.0.0.1:8848

2.3 需要给配置中心默认添加一个叫 数据集(Data Id) 名字必须和bootstrap.properties中的spring.application.name相同(默认规则:应用名.properties)

2.4 给 应用名.properties添加任务配置

2.5 动态获取配置 接口加上

        @RefreshScope:动态获取并刷新配置

        @Value (“${配置项的名}”)获取某个属性的值

如果配置中心和当前应用的配置文件中都配置了相同的项,优先使用配置中心的配置。

 

注意事项:

1)命名空间:配置隔离

默认:public(保留空间),默认新增的所有配置都在public空间

  1、开发、测试、生产:利用命名空间来做环境隔离,在bootstrap.properties中配置上,需要使用哪个命名空间下的配置。

    spring.cloud.nacos.config.namespace=kfh2dk8ufh1ak-fk2hd7dsf-a123

    2、基于每个微服务之间互相隔离配置,每一个微服务都创建自己的命名空间,只加载自己命名空间下的配置

2)配置集:所有的配置的集合

     

3)配置集Id:类似于配置文件名

      Data ID:类似文件名

4)配置分组:默认所有的配置集都属于 DEFAULT_GROUP

设置使用哪个组只需要在bootstrap文件中 增加 spring.cloud.nacos.config.group=组名

可以每个微服务创建自己的命名空间,使用配置分组来区分环境,dev,test,prod

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值