# Nacos服务注册与发现的原理

126 阅读1分钟

1.服务注册

1.1导入依赖

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

1.2配置文件

spring:
  application:
    name: item-service  #注册到Nacos的服务名,不写会报错
  cloud:
    nacos:
      discovery: #服务注册
        server-addr: localhost:8848

1.3注解【可不写】

@EnableDiscoveryClient  //开启服务发现,可以不打

1.4安装nacos

1.4.1、配置环境变量

正确安装好JDK11、并配置JAVA_HOME环境变量

1.4.2安装Nacos

将Nacos压缩包解压到英文目录下即可

1.4.3 导入SQL

创建名为nacos的数据库 导入nacos\conf\nacos-mysql.sql文件到nacos数据库中 修改nacos\conf\application.properties配置文件

PixPin_2024-10-11_19-58-40.png

1.4.4启动Nacos

DOS进入nacos/bin目录下 windows:startup.cmd -m standalone mac/Linux:sh startup.sh -m standalone

1.4.5访问Nacos

http://localhost:8848/nacos

2.发现

2.1OpenFeign实现远程调用

2.1.1导入依赖

<!--openFeign-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <!--负载均衡器-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
        </dependency>

2.1.2引导类加注解

@EnableFeignClients

2.1.3编写Feign客户端

@FeignClient("item-service")

@FeignClient("item-service")所调用的服务
public interface ItemClient {

    @GetMapping("/items")调用这个方法的地址
    List<ItemDTO> queryItemByIds(@RequestParam("ids") Collection<Long> ids);

}