前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >8.在Spring Boot中如何使用Nacos 注册中心

8.在Spring Boot中如何使用Nacos 注册中心

作者头像
AI码师
发布2023-08-18 12:44:41
2950
发布2023-08-18 12:44:41
举报

由于Nacos 暂时 不支持SpringBoot3.0 自动注册,所以集成SpringBoot时,暂且用SpringBoot2.7.7

引入依赖

代码语言:javascript
复制
dependencies {
   implementation 'org.springframework.boot:spring-boot-starter'
   implementation 'org.springframework.boot:spring-boot-starter-web'
   implementation 'com.alibaba.boot:nacos-discovery-spring-boot-starter:0.2.12'
}

添加配置文件

代码语言:javascript
复制
nacos:
 discovery:
   serverAddr: 192.168.64.2:8848
   autoRegister: true
   register:
     groupName: test_group
     serviceName: day01
spring:
 application:
   name: day01
server:
 port: 8080

创建一个API 获取服务实例和注册服务实例

代码语言:javascript
复制
package cpm.lglbc.day01;

import com.alibaba.nacos.api.annotation.NacosInjected;
import com.alibaba.nacos.api.exception.NacosException;
import com.alibaba.nacos.api.naming.NamingService;
import com.alibaba.nacos.api.naming.pojo.Instance;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * @Author 乐哥聊编程
 * @Doc 关注公众号"乐哥聊编程"获取文档和源码
 * @Date 2023/5/21
 * @Description
 */
@RestController("/")
public class IndexController {
    @Value("${server.port}")
    private int port;
    @Value("${spring.application.name}")
    private String app;
    @NacosInjected
    private NamingService namingService;

    @GetMapping("/getAllInstances")
    public List<Instance> getAllInstances() throws NacosException {
        return namingService.getAllInstances("day01", "test_group");
    }

    @RequestMapping("/createService")
    public List<Instance> createService() throws Exception {
        namingService.registerInstance(app, "test_group","127.0.0.1",port);
        return getAllInstances();
    }
}

启动服务

打印日志如下,说明服务注册成功

打开控制台

验证服务获取

关闭自动注册,使用手动注册服务

代码语言:javascript
复制
nacos:
 discovery:
   serverAddr: 192.168.64.2:8848
   autoRegister: false
   register:
     groupName: test_group
     serviceName: day01
spring:
 application:
   name: day01
server:
 port: 8080

调用接口

Get http://localhost:8080/createService 打开控制台,也能注册成功

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乐哥聊编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引入依赖
  • 添加配置文件
  • 创建一个API 获取服务实例和注册服务实例
  • 启动服务
  • 验证服务获取
  • 关闭自动注册,使用手动注册服务
  • 调用接口
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档