美文网首页
nacos 的使用

nacos 的使用

作者: zxbyh | 来源:发表于2023-03-29 09:37 被阅读0次

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

image.png
打开这个cmd文件, 默认是集群启动的,可以修改为单机启动模式: image.png
然后在这个文件的路径下面打开命令行执行, 不修改配置文件,运行下面的命令也可以以单机模式启动.
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,可以去执行调用了.

相关文章

网友评论

      本文标题:nacos 的使用

      本文链接:https://www.haomeiwen.com/subject/dlhfddtx.html