springboot集成nacos的配置方法

网友投稿 454 2022-12-10


springboot集成nacos的配置方法

本文介绍了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 控制台

2.配置发布与获取

1)配置发布2种方式:调用openapi;控制台操作

2)新建命名空间

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

@NacosPropertySource中指定dataId,groupId

//加载 dataId 为 example 的配置源,并开启自动更新

//@NacosPropertySource(dataId = "example",autoRefreshed = true)

//加载不同grohttp://upId的配置

//@NacosPropertySource(dataId = "example", groupId ="test",autoRefreshed = true)

//加载不同dahttp://taId的配置

@NacosPropertySource(dataId = "example2",autoRefreshed = true)

配置文件中指定namespace 的ID

#根据命名空间ID,加载不同namespace的配置

#nacoBpPbQgsGs.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调用获取结果


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java基于Base64实现编码解码图片文件
下一篇:Java实现把文件及文件夹压缩成zip
相关文章

 发表评论

暂时没有评论,来抢沙发吧~