Nacos:服务注册与发现

Nacos是阿里巴巴的一款开源软件,主要用于:服务注册与发现和动态配置管理。更多介绍,可到官网了解:。本文主要简单聊聊Nacos作为服务注册和发现的功能,使用的服务端版本是1.1.4,目前最新版是2.xx。下载启动之后,如果是本地启动的,浏览器输入:,就来到了登录界面,默认的用户名和密码都是nacos,登录之后:

可以看到,左侧菜单栏,包括三大模块:

(1)配置管理

(2)服务管理

(3)集群管理

本文主要是看服务管理下面的服务列表,就是注册到nacos的服务都会在这里显示。

下面的示例代码,均是基于SpringCloud环境下的。

服务要想注册到nacos,需要引入依赖:

<dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

服务注册

配置文件里面,指明nacos服务器的地址和端口:

spring:
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848

这样简单配置之后,服务便注册到了nacos

服务发现

借助于@EnableDiscoveryClient注解,开启服务发现功能,只需要在启动类加上该注解即可

@SpringBootApplication
@EnableDiscoveryClient
public class FeignProvider {
    public static void main(String[] args) {
        SpringApplication.run(FeignProvider.class,args);
    }
}

此后,便可以注入DiscoveryClient接口,实现服务和实例的获取:

// 获取所有的服务
    @GetMapping("/getAllService")
    public List<String> getAllService(){
        return discoveryClient.getServices();
    }

    // 根据服务id,获取实例
    @GetMapping("/getAllInstance")
    public List<ServiceInstance> getAllInstance(String serviceId){
        return discoveryClient.getInstances(serviceId);
    }

示例代码地址:

经验分享 程序员 微信小程序 职场和发展