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); }
示例代码地址: