nacos 的使用
2023-03-29 本文已影响0人
zxbyh
nacos 就是一个根据服务名返回服务的url, 类似一个域名解析!
到官网去下载文件https://nacos.io/zh-cn/index.html
取下来然后解压, 注意最新的是2.2.2 如果用最新的spring boot 的话,就用最新版本的nacos.

打开这个cmd文件, 默认是集群启动的,可以修改为单机启动模式:

然后在这个文件的路径下面打开命令行执行, 不修改配置文件,运行下面的命令也可以以单机模式启动.
startup -m standalone
启动后就可以在浏览器打开 http://127.0.0.1:8848/nacos/
即可看到控制台,默认用户名/密码为nacos/nacos。
一 : 在common-tool 的pom.xml 加上如下,并刷新maven
<!--nacos服务注册发现-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.5.RELEASE</version>
</dependency>
二:NacosClient类 放到common-tool里面,然后编译安装
public class NacosClient {
public static String getUrl(DiscoveryClient discoveryClient, String serveName){
List<ServiceInstance> serviceInstanceList = discoveryClient.getInstances(serveName);
Asserts.defend(serviceInstanceList.isEmpty(),-1001,"不存在的serveName!请检查Nacos");
return serviceInstanceList.get((int)(Math.random()*serviceInstanceList.size())).getUri().toString();
}
}
三 在某一个需要提供服务的微服务(依赖common-tool)的 yml文件里面加上如下:
spring:
application:
name: server-xxxxx # 这个name就是在nacos里面的服务名.类似于域名解析, 这儿写上你具体的服务的名字
cloud:
nacos:
server-addr: 127.0.0.1:8848 #这儿写具体的nacos的ip和端口.
四: 在要使用上面的微服务的地方,
同样也在pom.xml加上依赖
<!--nacos服务注册发现-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.5.RELEASE</version>
</dependency>
弄如下代码就可以了:
@Resource
private DiscoveryClient discoveryClient;
@Test
public void Test(){
System.out.println(NacosClient.getUrl(this.discoveryClient,"server-xxxx"));
}
这样就得到服务的url,可以去执行调用了.