Spring-Cloud Nacos- 注册中心-服务发现
·
注册中心-服务发现
流程:
一、IDEA注册,浏览器查看
二、开启服务发现功能->测试服务发现功能
步骤:启动Nacos ,进入Nacos安装包bin目录输入cmd,进入cmd
startup.cmd -m standslone

创建微服务框架(默认已创建)如图:

1.创建主程序

2.创建application.prperties文件,设置name、port、addr三个属性

3.开启 IDEA服务器,然后浏览器输入网址,进入服务列表,可以看到创建的服务信息,第一步完成。
http://localhost:8848/nacos/

二、开启服务发现功能->测试服务发现功能
1.引入web依赖,和测试依赖,服务发现依赖


2.建立Test类,test目录和java目录一一对应

3.编写代码:
开启服务发现的功能
@EnableDiscoveryClient

以下附上测试类代码:DiscoveryClient 、NacosServiceDiscovery 两种方式都可以服务发现
package com.atguigu.product;
import com.alibaba.cloud.nacos.discovery.NacosServiceDiscovery;
import com.alibaba.nacos.api.exception.NacosException;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import java.util.List;
@SpringBootTest
public class DiscoveryTest {
@Autowired
private DiscoveryClient discoveryClient;
@Autowired
private NacosServiceDiscovery nacosServiceDiscovery;
@Test
void discoveryTest(){
//打印注册中心所有微服务的名字
for(String service:discoveryClient.getServices()){
System.out.println("service = "+service);
//获取ip+port
List<ServiceInstance> instances = discoveryClient.getInstances(service);
for (ServiceInstance instance : instances) {
System.out.println("ip: "+instance.getHost());
System.out.println("port:"+instance.getPort());
}
}
System.out.println(discoveryClient.getServices());
}
@Test
void nacosServiceDiscoveryTest() throws NacosException {
List<String> services = nacosServiceDiscovery.getServices();
for (String service : services) {
System.out.println("service"+service);
for (ServiceInstance instance : nacosServiceDiscovery.getInstances(service)) {
System.out.println("ip"+instance.getHost());
System.out.println("port:"+instance.getPort());
}
}
}
}
更多推荐

所有评论(0)