java 失败重试 ribbon spring-retry

原创 2018年04月15日 21:18:14

java 失败重试 ribbon springretry

ribbon 提供了Springcloud下负载均衡和失败重试测试,ribbon 默认提供了httpclient 发起http请求,使用rxjava的retry机制进行失败重试,使用了ribbon的默认RequestSpecificRetryHandler和DefaultLoadBalancerRetryHandler重试测策略。 但是在Springcloud中也提供了重试机制,使用spring-retry作为失败重试,重试策略有InterceptorRetryPolicy。

下面我们从不同的几个角度,来阐述一下这两种重试策略中的不同点一级优缺点

springretry 重试策略:
* 提供的功能
1. 默认支持GET请求重试
2. 可配置所有操作重试(GET/PUT/POST/DELETE)
3. 支持可配置同一个Server重试多次和可配置多个Server上重试。
4. 虽然spring-retry提供了很多的重试策略,但是在spring-cloud中目前只有两种重试策略: 不重试、可配置重试次数。
* 使用性
1. 需要通过spring-cloud的配置文件中读取,不支持服务级配置。

ribbon 中的重试策略:
* 提供的功能
1. 默认支持GET请求重试
2. 可配置所有操作重试(GET/PUT/POST/DELETE)
3. 支持可配置同一个Server重试多次和可配置多个Server上重试。
4. 支持根据http 返回的异常信息决定是否进行重试,例如:ConnectException, SocketTimeoutException进行重试,其他异常不进行重试,也可以添加异常重试类型。
* 使用性
1. 使用netflix的archaius 默认支持服务级配置

重试框架Spring retry实践

spring retry是从spring batch独立出来的一个能功能,主要实现了重试和熔断。对于重试室友场景限制的,不是什么场景都适合重试,比如参数校验不合法、写操作等(要考虑写是否幂等)都不适合...
  • u011116672
  • u011116672
  • 2017-09-03 17:16:19
  • 3534

使用Spring-retry 1.1.4完成重试功能

前言在实际项目中,经常需要在某种情况下对调用的方法进行重试,例如发生超时。而通过Spring-retry则能简化重试功能的实现,并实现更多样的重试操作。Spring-retry结构Spring-ret...
  • Revivedsun
  • Revivedsun
  • 2016-11-29 22:30:36
  • 5940

spring-retry简单使用

在分布式系统中,为了保证数据分布式事务的强一致性,大家在调用RPC接口或者发送MQ时,针对可能会出现网络抖动请求超时情况采取一下重试操作。大家用的最多的重试方式就是MQ了,但是如果你的项目中没有引入M...
  • a294039255
  • a294039255
  • 2017-07-25 19:31:19
  • 1182

Spring 重试功能

业务系统在调用其他系统服务或者外部服务时,为防止网络抖动或其它异常因素,需要引入重试机制确保服务调用更健壮,spring 提供了spring-retry支持重试机制,废话不多说,下面直接贴代码。  ...
  • MongolianWolf
  • MongolianWolf
  • 2018-02-06 14:13:36
  • 86

为Spring Cloud Ribbon配置请求重试(Camden.SR2+)

当我们使用Spring Cloud Ribbon实现客户端负载均衡的时候,通常都会利用@LoadBalanced来让RestTemplate具备客户端负载功能,从而实现面向服务名的接口访问。 下面的例...
  • dyc87112
  • dyc87112
  • 2017-06-26 14:10:00
  • 1018

[java]微服务架构连载No3 Ribbon+Retry服务实现负载均衡和服务请求重试

Ribbon+Retry服务实现负载均衡和服务请求重试
  • u013487548
  • u013487548
  • 2017-09-25 21:47:01
  • 429

Spring重试支持Spring Retry

第一步、引入maven依赖 org.springframework.boot spring-boot-starter-web
  • u014513883
  • u014513883
  • 2016-08-30 17:14:29
  • 11137

ribbon重试多个微服务的配置

对应当前应用  properties文件添加要重试的微服务的节点 zuul也要加进去有多少要重试的服务 都配置一下。可以考虑做一个从class批量处理下 有空看下源码  TODO1. 关于3个zuul...
  • AlbertFly
  • AlbertFly
  • 2018-03-14 13:27:30
  • 124

spring-retry重试与熔断详解—《亿级流量》内容补充

本文是《亿级流量网站架构核心技术——跟开涛学搭建高可用高并发系统》第6章 超时与重试机制补充内容。   spring-retry项目实现了重试和熔断功能,目前已用于SpringBatch、Sprin...
  • broadview2006
  • broadview2006
  • 2017-06-02 09:18:04
  • 2993

zuul重连配置

#retry #该参数用来开启重试机制 spring.cloud.loadbalancer.retry.enabled=true #断路器的超时时间,断路器的超时时间需要大于ribbon的超时时间,不...
  • zl1zl2zl3
  • zl1zl2zl3
  • 2017-03-28 14:52:58
  • 5273
收藏助手
不良信息举报
您举报文章:java 失败重试 ribbon spring-retry
举报原因:
原因补充:

(最多只允许输入30个字)