resttemplate 请求重试_使用Spring Cloud Ribbon重试请求
使用Spring Cloud Ribbon重试请求
在微服务调用中,一些微服务圈可能调用失败,通过再次调用以达到系统稳定性效果,本文展示如何使用Ribbon和Spring Retry进行请求再次重试调用。
在Spring Cloud中,使用load balanced RestTemplate对外部服务进行请求调用,创建一个负载平衡的RestTemplate是非常简单:
@Configuration
public class MyConfiguration {
@LoadBalanced
@Bean
RestTemplate restTemplate() {
return new RestTemplate();
}
}
public class MyClass {
@Autowired
private RestTemplate restTemplate;
public String doOtherStuff() {
String results = restTemplate.getForObject("http://stores/stores", String.class);
return results;
}
}
这里加入@LoadBalanced 元注解让你利用一个发现服务比如Eureka进行服务注册,正如你在doOtherStuff方法中看到,我们对URL http://stores/stores发出请求,主机名stores并不是实际注册的主机名,而是在发现服务器中注册的stroes服务名称,RestTemplate将使用stores服务所在主机名或IP地址替代stores主机名。
正如我们都知道,这样的请求可能有问题。 出于任何原因,某些可能会出错,请求可能会失败。 这就是为什么在健壮的应用程序中,当遇到失败时,可以重试类似上面的API请求。 发生这种失败问题原因可能是服务完全停止,我们永远不会得到回应。 然而,故障可能的是由于某种类型的网络问题,并且随后的请求可能会成功。 甚至可能是服务的某个特定实例可能遇到问题的情况,但是存在完全可能是请求另一实例时却能够处理。
在Spring Cloud,如果你使用一个负载平衡RESTTemplate进行API请求,如果请求失败,开发者可以决定重试请求,在 Spring Retry project 项目中提供重试逻辑,使用 Ribbon properties 配置重试次数以及哪个请求需要重试。
resttemplate 请求重试_使用Spring Cloud Ribbon重试请求相关推荐
- 为Spring Cloud Ribbon配置请求重试(Camden.SR2+)
当我们使用Spring Cloud Ribbon实现客户端负载均衡的时候,通常都会利用@LoadBalanced来让RestTemplate具备客户端负载功能,从而实现面向服务名的接口访问(原理可见& ...
- Spring Cloud微服务笔记(四)客户端负载均衡:Spring Cloud Ribbon
客户端负载均衡:Spring Cloud Ribbon 一.负载均衡概念 负载均衡在系统架构中是一个非常重要,并且是不得不去实施的内容.因为负载均衡对系统的高可用性. 网络压力的缓解和处理能力的扩容的 ...
- java重新定义_重新定义Spring Cloud实战 PDF 下载
资料目录: 前言 第1章 微服务与SpringCloud1 1.1 微服务架构概述1 1.1.1 应用架构的发展1 1.1.2 微服务架构3 1.1.3 微服务解决方案4 1.2 Spring Clo ...
- 3 Spring Cloud Ribbon
Spring Cloud Ribbon Spring Cloud Ribbon 是一套基于 Netflix Ribbon 实现的客户端负载均衡和服务调用工具. Netflix Ribbon 是 Net ...
- Spring Cloud Ribbon的使用详解
目录 一.概述 1.Ribbon是什么 2.Ribbon能干什么 3.Ribbon现状 4.未来替代方案 5.架构说明 二.RestTemplate 用法详解 三.Ribbon核心组件IRule 四. ...
- Spring Cloud Ribbon(服务消费者)
Spring Cloud Ribbon 是一个基于Http和TCP的客户端负载均衡工具,基于Netflix Ribbon实现的.它不像服务注册中心.配置中心.API网关那样独立部署,但是它几乎存在于每 ...
- Spring Cloud的负载均衡Spring Cloud Ribbon和Spring Cloud Feign
一.客户端负载均衡:Spring Cloud Ribbon. Spring Cloud Ribbon是基于HTTP和TCP的客户端负载工具,它是基于Netflix Ribbon实现的.通过Spring ...
- Spring Cloud Ribbon 是什么?
本文内容如有错误.不足之处,欢迎技术爱好者们一同探讨,在本文下面讨论区留言,感谢. 文章目录 简述 作用 客户端负载均衡 负载均衡算法 原理和使用 核心类 原理图 使用 小结 参考资料 简述 Spri ...
- Spring Cloud Ribbon负载均衡策略详解
通过之前的文章可以知道, Ribbon负载均衡器选择服务实例的方式是通过"选择策略"实现的, Ribbon实现了很多种选择策略,UML静态类图如上图. IRule是负载均衡的策略接 ...
最新文章
- 杭电1016Java实现
- win8换成linux桌面,Ubuntu/Linux Mint分分钟变Win8风
- linux系统是否支持gpt分区,Linux下进行GPT分区
- 求任意10个数中的正数之和及个数,函数实现体会地址传递
- 【线段树】Traffic Jams in the Land(CF498D)
- WIN2000大硬盘补丁
- 算法笔记(23)网格搜索及Python代码实现
- 身份证号码规律,亲测可用
- 使用DOS命令查找并复制指定目录及其子目录下的同一后缀所有文件
- 番外7. 在 Python OpenCV 寻找目标区域以及边缘扩展的解决方案
- liunux 查看系统参数、网络参数的命令
- 我每年得忽悠10万程序员上车
- 你知道 details 标签的妙用吗?
- 计算有效时间的时间戳
- lorem ipsum是什么
- CSS 中 a 标签为什么不能继承父类的颜色?
- 【leetcode】解题日记(未完待续)
- MIT 计算机操作环境导论Missing Semester Lesson 9 安全和密码学
- 新闻集团下周将推iPad报纸 网站屏蔽搜索引擎
- 读《移动互联网白皮书》有感
热门文章
- python编译原理_编译原理实战课 带你吃透编译技术核心概念与算法
- java面试基础_Java面试基础
- 安装caffe碰到的坑
- LINUX设备模型BUS,DEVICE,DRIVER
- 「镁客早报」韩国将支持数字加密货币的正常交易;今年智能手表出货量或达7100万部...
- oracle存储过程的简单学习2
- 树莓派2代B model 上手初体验,不用显示器,Python GPIO 点亮一颗LED
- Symantec防病毒企业版10.1部署方法一
- PDB命令行调试Python代码
- 手把手教你使用C#操作SQLite数据库,新建数据库,创建表,插入,查询,删除,运算符,like...