【三】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框架进行调用。

若有问题,欢迎提出。

目录
相关文章
|
6天前
|
Java API Nacos
第十二章 Spring Cloud Alibaba Sentinel
第十二章 Spring Cloud Alibaba Sentinel
17 0
|
6天前
|
消息中间件 SpringCloudAlibaba Java
第十章 SpringCloud Alibaba 之 Nacos discovery
第十章 SpringCloud Alibaba 之 Nacos discovery
|
6天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
14天前
|
Java API 对象存储
对象存储OSS产品常见问题之使用Spring Cloud Alibaba情况下文档添加水印如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
26 2
|
22天前
|
SpringCloudAlibaba 监控 Java
SpringCloud Alibaba微服务-- Sentinel的使用(保姆级)
SpringCloud Alibaba微服务-- Sentinel的使用(保姆级)
|
22天前
|
SpringCloudAlibaba Java API
SpringCloud Alibaba微服务工程搭建(保姆级)
SpringCloud Alibaba微服务工程搭建(保姆级)
|
22天前
|
SpringCloudAlibaba Java Nacos
SpringCloud Alibaba微服务 -- Nacos使用以及注册中心和配置中心的应用(保姆级)
SpringCloud Alibaba微服务 -- Nacos使用以及注册中心和配置中心的应用(保姆级)
|
2月前
|
Dubbo 关系型数据库 MySQL
nacos常见问题之命名空间配置数据上线修改如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
96 1
|
2月前
|
存储 运维 监控
NACOS 配置中心和注册中心是分两个集群部署还是放在一个集群中
【2月更文挑战第33天】NACOS 配置中心和注册中心是分两个集群部署还是放在一个集群中
81 2
|
2月前
|
运维 Java Nacos
nacos常见问题之配置账号密码
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
262 6