【本人秃顶程序员】Spring Cloud Gateway重试机制

本文介绍了Spring Cloud Gateway的重试机制,探讨了适用场景,并提供了配置讲解、代码测试,帮助理解如何设置和使用重试功能。通过示例展示了如何通过RetryGatewayFilter进行重试配置,并提醒注意合理设置重试次数以避免对后端造成过大压力。
摘要由CSDN通过智能技术生成

←←←←←←←←←←←← 我都秃顶了,还不点关注!

前言

重试,我相信大家并不陌生。在我们调用Http接口的时候,总会因为某种原因调用失败,这个时候我们可以通过重试的方式,来重新请求接口。

生活中这样的事例很多,比如打电话,对方正在通话中啊,信号不好啊等等原因,你总会打不通,当你第一次没打通之后,你会打第二次,第三次…第四次就通了。

重试也要注意应用场景,读数据的接口比较适合重试的场景,写数据的接口就需要注意接口的幂等性了。还有就是重试次数如果太多的话会导致请求量加倍,给后端造成更大的压力,设置合理的重试机制才是最关键的。

今天我们来简单的了解下Spring Cloud Gateway中的重试机制和使用。

使用讲解

RetryGatewayFilter是Spring Cloud Gateway对请求重试提供的一个GatewayFilter Factory。

配置方式:

spring:
  cloud:
    gateway:
      routes:
      - id: fsh-house
        uri: lb://fsh-house
        predicates:
        - Path=/house/**
        filters:
        - name: Retry
          args:
           retries: 3
           series:
            - SERVER_ERROR
           statuses:
            - OK
           methods:
            - GET
            - POST
           exceptions:
            - java.io.IOException

配置讲解

配置类源码org.springframework.cloud.gateway.filter.factory.RetryGatewayFilterFactory.RetryConfig:

public static class RetryConfig {
    private int retries = 3;
    private List<Series> series = toList(Series.SERVER_ERROR);
    private List<HttpStatus> statuses = new ArrayList<>();
    private List<HttpMethod> methods = toList(HttpMethod.GET);
    private List&l
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值