POM文件依赖
-
<dependencies>
-
<dependency>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter</artifactId>
-
</dependency>
-
<!--gateway fhadmin.org-->
-
<dependency>
-
<groupId>org.springframework.cloud</groupId>
-
<artifactId>spring-cloud-starter-gateway</artifactId>
-
<version>3.0.2</version>
-
</dependency>
-
<!--spring-boot fhadmin.org-->
-
<dependency>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter-test</artifactId>
-
<scope>test</scope>
-
</dependency>
-
</dependencies>
我在父组件中加入的nacos的相关依赖如下:
-
<dependency>
-
<groupId>com.alibaba.cloud</groupId>
-
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
-
<version>${nacos.version}</version>
-
</dependency>
-
<!--alibaba fhadmin.org-->
-
<dependency>
-
<groupId>com.alibaba.cloud</groupId>
-
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
-
<version>${nacos.version}</version>
-
</dependency>
nacos的版本如下:
-
<properties>
-
<nacos.version>2021.1</nacos.version>
-
</properties>
gateway的application.yml文件配置如下:
-
#fhadmin.org
-
server:
-
port: 9040
-
-
spring:
-
application:
-
name: gateway
-
cloud:
-
gateway:
-
routes:
-
- id: consumer
-
uri: lb://consumer
-
# uri: http://localhost:9010
-
predicates:
-
- Path=/**
-
nacos:
-
discovery:
-
server-addr: localhost:8848
-
metadata:
-
preserved.heart.beat.interval: 3 #心跳间隔。时间单位:秒。心跳间隔
-
preserved.heart.beat.timeout: 6 #心跳暂停。时间单位:秒。 即服务端6秒收不到客户端心跳,会将该客户端注册的实例设为不健康:
-
preserved.ip.delete.timeout: 9 #Ip删除超时。时间单位:秒。即服务端9秒收不到客户端心跳,会将该客户端注册的实例删除:
当我通过uri: 去调用服务时,是可以调用的,但是当我用uri lb://consumer时就无法调用服务,报错503.
解决办法是:
加入feign依赖。
-
<dependencies>
-
<dependency>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter</artifactId>
-
</dependency>
-
-
<dependency>
-
<groupId>org.springframework.cloud</groupId>
-
<artifactId>spring-cloud-starter-gateway</artifactId>
-
<version>3.0.2</version>
-
</dependency>
-
-
<!--fegin组件 fhadmin.cn-->
-
<dependency>
-
<groupId>org.springframework.cloud</groupId>
-
<artifactId>spring-cloud-starter-openfeign</artifactId>
-
<version>3.0.2</version>
-
</dependency>
-
<!-- Feign Client for loadBalancing -->
-
<dependency>
-
<groupId>org.springframework.cloud</groupId>
-
<artifactId>spring-cloud-loadbalancer</artifactId>
-
<version>3.0.2</version>
-
</dependency>
-
-
<dependency>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter-test</artifactId>
-
<scope>test</scope>
-
</dependency>
-
</dependencies>
猜测原因:nacos兼容feign,feign集成ribbon,默认实现负载均衡;或许是nacos不兼容springcloud gateway自带的ribbon。
阅读(767) | 评论(0) | 转发(0) |