Nacos Client的搭建及服务调用

494 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第24天,点击查看活动详情

一、Nacos client端的搭建

1-1、引入依赖

在之前两个服务中的pom,都引入nacos的依赖

<!--nacos 服务注册与发现-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

1-2、在配置文件中配置Nacos

要让服务注册到nacos中,需要给服务定义一个名称,这样后面在各个服务之间引用注册的时候,就可以通过服务名可以进行互相调用了。

在测试项目中,分别给order和stock创建对应的服务名称,服务端口,用户名密码及命名空间

order服务的配置信息:

spring:
  application:
    #应用名称(nacos会将该名称当做服务名称)
    name: order-service
  cloud:
    nacos:
      #nacos地址及端口
      server-addr: 192.168.253.131:8848
      discovery:
        #nacos用户名密码
        username: nacos
        password: nacos
        #命名空间
        namespace: public

stock服务的配置信息

spring:
  application:
    #应用名称(nacos会将该名称当做服务名称)
    name: stock-service
  cloud:
    nacos:
      #nacos地址及端口
      server-addr: 192.168.253.131:8848
      discovery:
        #nacos用户名密码
        username: nacos
        password: nacos
        #命名空间
        namespace: public

1-3、启动order和stock服务

启动日志可以看到已经注册到nacos中 image.png

nacos管理页面中,也可以看到order和stock服务 image.png

查看服务详情,可以看到服务的详情数据 image.png

1-4、服务关闭nacos的心跳监测

在关闭服务之后,nacos就会将服务充服务列表中移出。 image.png

1-5、通过nacos调用其他服务

之前的文章中介绍分布式服务通过ip、域名等方式进行访问其他服务,现在用了nacos就可以直接通过注册在nacos中的服务名称就可以发起调用了

1、首先将RestTemplate添加@LoadBalanced注解,设为一个负载均衡器 image.png

2、将调用服务的ip改为服务名称 image.png

3、浏览器访问 image.png

二、Nacos的配置项

除了下图中的配置外,更多配置可以看下网站介绍:github.com/alibaba/spr… image.png