当前位置: 首页 > 编程笔记 >

Spring Cloud Zuul的重试配置详解

司寇照
2023-03-14
本文向大家介绍Spring Cloud Zuul的重试配置详解,包括了Spring Cloud Zuul的重试配置详解的使用技巧和注意事项,需要的朋友参考一下

Spring Cloud Zuul模块本身就包含了对于hystrix和ribbon的依赖,当我们使用zuul通过path和serviceId的组合来配置路由的时候,可以通过hystrix和ribbon的配置调整路由请求的各种时间超时机制。

1 ribbon配置举例

配置连接超时时间1秒,请求处理时间2秒,统一服务server尝试重连1次,切换server重连1次

ribbon:
 ConnectTimeout: 1000
 ReadTimeout: 2000
 MaxAutoRetries: 1
 MaxAutoRetriesNextServer: 1

2 hystirx配置举例

hystrix:
 command:
  default:
   execution:
    isolation:
     thread:
      timeoutInMilliseconds: 60000

这里需要注意的是hystrix的配置时间应该大于ribbon全部重试时间的总和,上面我配置的是2次重试,包括首次请求,三次时间是6秒

引用官方大神的一段说明

When using Hystrix commands that wrap Ribbon clients you want to make sure your Hystrix timeout is configured to be longer than the configured Ribbon timeout, including any potential
retries that might be made. For example, if your Ribbon connection timeout is one second and
the Ribbon client might retry the request three times, than your Hystrix timeout should
be slightly more than three seconds.

3 打开zuul的重试配置:

zuul:
  retryable: true

特别注意zuul的重试配置需要依赖spring的retry,不然的话怎么配置都是徒劳

<dependency>
  <groupId>org.springframework.retry</groupId>
  <artifactId>spring-retry</artifactId>
</dependency>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍SpringBoot热重启配置详解,包括了SpringBoot热重启配置详解的使用技巧和注意事项,需要的朋友参考一下 1.添加依赖 安装成功后查看maven 依赖 如果存在spring-boot-devtools 并且没有红线证明成功添加 2.要重新编译项目 重启服务器 idea: 设置File ->Setting ->Compile: 勾选“Build project automa

  • 本文向大家介绍Springboot Cucumber测试配置介绍详解,包括了Springboot Cucumber测试配置介绍详解的使用技巧和注意事项,需要的朋友参考一下 目前Spring-boot成为了java开发的主流框架,Cucumber作为一款支持dsl的自动化测试工具,很适合用户编写DSL优化过的单元测试等测试用例。本文将讲解如何在SpringBoot中配置Cucumber进行自动化测试

  • 本文向大家介绍tsconfig.json配置详解,包括了tsconfig.json配置详解的使用技巧和注意事项,需要的朋友参考一下 概述 如果一个目录下存在一个tsconfig.json文件,那么它意味着这个目录是TypeScript项目的根目录。 tsconfig.json文件中指定了用来编译这个项目的根文件和编译选项。 一个项目可以通过以下方式之一来编译: 使用tsconfig.json 不带

  • 前面我们一起学习了 Groovy 语言的语法基础,再由浅入深从 Gradle 的环境变量配置,到创建一个简单的 Gradle 项目。今天这节课我们为大家介绍一下 Android 项目中 Gradle 的配置。 1. AndroidStudio 项目结构 我们介绍 AndroidStudio 中 Android 项目的 Gradle 配置之前,我们先来看下 AndroidStudio 中 Andro

  • 我正在使用以下语句在karate-config.js中配置retry: 运行测试时,控制台中出现以下错误: [main]错误com.intuit.karate-javascript函数调用失败:意外的“configure”键:“retry”。 有人能提出解决这个问题的办法吗?

  • 本文向大家介绍详解Nginx中的Rewrite的重定向配置与实践,包括了详解Nginx中的Rewrite的重定向配置与实践的使用技巧和注意事项,需要的朋友参考一下 一:理解地址重写 与 地址转发的含义。 地址重写与地址转发是两个不同的概念。 地址重写 是为了实现地址的标准化,比如我们可以在地址栏中中输入 www.baidu.com. 我们也可以输入 www.baidu.cn. 最后都会被重写到 w