遇到503 错误代码应如何解决?

Posted diuxie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了遇到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.org

server:
port: 9040
spring:
application:

name: gateway

cloud:

gateway:
  routes:
    - id: consumer
      uri: lb://consumer
      #          uri: 
      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.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-lowww.diuxie.comadbalancer</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。

以上是关于遇到503 错误代码应如何解决?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决错误 503 服务不可用

如何修复“代码应明确检查权限是不是可用”错误

如何在 PHP 错误上设置 Apache HTTP 503 错误代码而不是 HTTP 500

十月CMS 401、402、403、503、400错误代码处理

C/调试实用技巧—作为程序员应如何面对并尝试解决Bug?

如何在 Tampermonkey 中捕获状态 503