【三】SpringCloud Alibaba之Nacos整合篇(作为配置中心)

简介: 【三】SpringCloud Alibaba之Nacos整合篇(作为配置中心)

一、 修改提供者服务

首先展示一下目录结构:

注意:配置中心功能会使用到如下依赖

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

修改配置文件:

注意:配置文件的加在顺序是先加载bootstrap再加载application,所有读取nacos的配置写在bootstrap配置里,如下:

每一个配置都很重要:

application.name会对应nacos上面配置文件的dataid值

server-addr是nacos的地址

file-extension是对应nacos上面配置文件的扩展名

namespace是对应nacos上面配置文件所属的命名空间(为了区别配置文件的重名问题,建立命名空间可以解决这个问题)

active是表示后缀使用哪个配置文件,例如nacos-provider2-dev.yaml,nacos-provider2-test.yaml

refresh-enabled是开启配置文件自动刷新(修改nacos的配置文件后默认不会自动刷新,除非重启服务。注意:需要结合@RefreshScope注解一起使用)

yml配置文件如下(并不会走这个配置文件了):

二、定义nacos配置

进入nacos,新增配置。

第一步先新增命名空间(方便管理同名的配置文件),如下:

点击新增即可。

进入配置列表可以看到已经新增成功,切换页签即可向不同的命名空间添加配置文件。

框选处即为上面的yml配置文件的namespace需要填写的值。此处是我新建的三个配置文件(点击右上角加号即可新增)。

注意:

dataid必须与配置文件的spring.application.name保持一致。

配置格式必须与spring.cloud.nacos.config.file-extension保持一致。

如下是我的配置:

从前面可以看到,我的本地provider服务的端口是9003,如果成功的话, 端口应该是9034。

修改controller:

增加RefreshScope注解(动态刷新配置文件,加在需要读取配置的地方)。

运行provider服务,如下:

三、演示

查看效果:

进入nacos:

查看provider服务详情:

的确是9034,读取的nacos的配置文件,没有走本地配置,成功。

再通过postman调用消费者81端口的服务测试一下:

成功。

再测试一下动态刷新效果:

修改nacos配置文件:

改为9088,再点击发布,访问postman测试 如下:

provider服务的端口为9088,动态刷新配置文件测试成功。

前两章的服务调用都是基于RestTemplate(RestTemplate需要单独提供服务地址,不方便),下一章整合Dubbo,通过Dubbo这个PCR框架进行调用。

若有问题,欢迎提出。

目录
相关文章
|
15天前
|
人工智能 安全 Java
AI 时代:从 Spring Cloud Alibaba 到 Spring AI Alibaba
本次分享由阿里云智能集团云原生微服务技术负责人李艳林主讲,主题为“AI时代:从Spring Cloud Alibaba到Spring AI Alibaba”。内容涵盖应用架构演进、AI agent框架发展趋势及Spring AI Alibaba的重磅发布。分享介绍了AI原生架构与传统架构的融合,强调了API优先、事件驱动和AI运维的重要性。同时,详细解析了Spring AI Alibaba的三层抽象设计,包括模型支持、工作流智能体编排及生产可用性构建能力,确保安全合规、高效部署与可观测性。最后,结合实际案例展示了如何利用私域数据优化AI应用,提升业务价值。
|
2月前
|
SpringCloudAlibaba 负载均衡 Dubbo
【SpringCloud Alibaba系列】Dubbo高级特性篇
本章我们介绍Dubbo的常用高级特性,包括序列化、地址缓存、超时与重试机制、多版本、负载均衡。集群容错、服务降级等。
【SpringCloud Alibaba系列】Dubbo高级特性篇
|
2月前
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
|
2月前
|
SpringCloudAlibaba JavaScript Dubbo
【SpringCloud Alibaba系列】Dubbo dubbo-admin安装教程篇
本文介绍了 Dubbo-Admin 的安装和使用步骤。Dubbo-Admin 是一个前后端分离的项目,前端基于 Vue,后端基于 Spring Boot。安装前需确保开发环境(Windows 10)已安装 JDK、Maven 和 Node.js,并在 Linux CentOS 7 上部署 Zookeeper 作为注册中心。
【SpringCloud Alibaba系列】Dubbo dubbo-admin安装教程篇
|
26天前
|
人工智能 自然语言处理 Java
Spring Cloud Alibaba AI 入门与实践
本文将介绍 Spring Cloud Alibaba AI 的基本概念、主要特性和功能,并演示如何完成一个在线聊天和在线画图的 AI 应用。
256 7
|
5月前
|
SpringCloudAlibaba API 开发者
新版-SpringCloud+SpringCloud Alibaba
新版-SpringCloud+SpringCloud Alibaba
|
2月前
|
SpringCloudAlibaba Dubbo Java
【SpringCloud Alibaba系列】Dubbo基础入门篇
Dubbo是一款高性能、轻量级的开源Java RPC框架,提供面向接口代理的高性能RPC调用、智能负载均衡、服务自动注册和发现、运行期流量调度、可视化服务治理和运维等功能。
【SpringCloud Alibaba系列】Dubbo基础入门篇
|
2月前
|
Java Nacos Sentinel
Spring Cloud Alibaba:一站式微服务解决方案
Spring Cloud Alibaba(简称SCA) 是一个基于 Spring Cloud 构建的开源微服务框架,专为解决分布式系统中的服务治理、配置管理、服务发现、消息总线等问题而设计。
345 13
Spring Cloud Alibaba:一站式微服务解决方案
|
6月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
定时任务在企业应用中至关重要,常用于异步数据处理、自动化运维等场景。在单体应用中,利用Java的`java.util.Timer`或Spring的`@Scheduled`即可轻松实现。然而,进入微服务架构后,任务可能因多节点并发执行而重复。Spring Cloud Alibaba为此发布了Scheduling模块,提供轻量级、高可用的分布式定时任务解决方案,支持防重复执行、分片运行等功能,并可通过`spring-cloud-starter-alibaba-schedulerx`快速集成。用户可选择基于阿里云SchedulerX托管服务或采用本地开源方案(如ShedLock)
181 1
|
4月前
|
JSON SpringCloudAlibaba Java
Springcloud Alibaba + jdk17+nacos 项目实践
本文基于 `Springcloud Alibaba + JDK17 + Nacos2.x` 介绍了一个微服务项目的搭建过程,包括项目依赖、配置文件、开发实践中的新特性(如文本块、NPE增强、模式匹配)以及常见的问题和解决方案。通过本文,读者可以了解如何高效地搭建和开发微服务项目,并解决一些常见的开发难题。项目代码已上传至 Gitee,欢迎交流学习。
247 1
Springcloud Alibaba + jdk17+nacos 项目实践