springboot配置-集成nacos

本文档介绍了如何将SpringBoot应用与Nacos进行集成,包括安装Nacos、配置发布与获取、服务注册与消费服务的步骤。详细阐述了通过命名空间、DataId和GroupId管理配置,以及服务的注册与发现过程。

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

springboot配置-集成nacos


nacos仓库: https://github.com/alibaba/nacos

nacos介绍文档:https://nacos.io/zh-cn/docs/architecture.html

nacos使用例子:https://github.com/nacos-group/nacos-examples

springboot配置-集成nacos,例子代码下载

springboot-nacos-consumer

springboot-nacos

1.安装信息

导入nacos-mysql.sql在这里插入图片描述
启动nacos 控制台在这里插入图片描述

2.配置发布与获取

1)配置发布2种方式:调用openapi;控制台操作
在这里插入图片描述

2)新建命名空间
在这里插入图片描述

3)不同namespace,不同dataId,不同groupId获取配置情况

@NacosPropertySource中指定dataId,groupId

//加载 dataId 为 example 的配置源,并开启自动更新
//@NacosPropertySource(dataId = "example",autoRefreshed = true)
//加载不同groupId的配置
//@NacosPropertySource(dataId = "example", groupId ="test",autoRefreshed = true)
//加载不同dataId的配置
@NacosPropertySource(dataId = "example2",autoRefreshed = true)

配置文件中指定namespace 的ID

#根据命名空间ID,加载不同namespace的配置
#nacos.config.namespace=a8128f5b-7f87-42c5-9ffd-c4f17da7ee34

测试:
在这里插入图片描述

3.服务注册与消费服务

1)服务注册
配置文件指定:

server.port= 8080
#访问的根路径
server.context-path=/springboot-nacos
#Nacos服务名
spring.application.name=UserService
#nacos服务端的地址
nacos.config.server-addr=127.0.0.1:8848
#discovery地址
nacos.discovery.server-addr=127.0.0.1:8848
#根据命名空间ID,加载不同namespace的配置
#nacos.config.namespace=a8128f5b-7f87-42c5-9ffd-c4f17da7ee34

服务启动时注册:

@SpringBootApplication
public class SpringbootNacosApplication {
    @NacosInjected
    private NamingService namingService;
    @Value("${server.port}")
    private int serverPort;

    @Value("${spring.application.name}")
    private String applicationName;
    //curl -X PUT 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=xxx&ip=127.0.0.1&port=8080'
    @PostConstruct
    public void registerInstance() throws NacosException {
        if(CollectionUtils.isEmpty(namingService.getAllInstances(applicationName))){
            namingService.registerInstance(applicationName,"127.0.0.1",serverPort);
        }
    }
    public static void main(String[] args) {
        SpringApplication.run(SpringbootNacosApplication.class, args);
    }

}

在这里插入图片描述
2)服务消费
通过NamingService发现选择服务

 Instance instance = namingService.selectOneHealthyInstance("UserService");

通过RestTemplate调用获取结果
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值