springcloud 2020 gateway 503 错误代码

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.orgserver:  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: http://localhost:9010去调用服务时,是可以调用的,但是当我用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.org-->    <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。

(0)

相关推荐