spring-cloud熔断和负载均衡
1.服务熔断,是指当前服务调用的另一个服务响应超时的时候会直接终止调用而直接调用备用的另一个方法,称为服务降级。
配置类
@Configuration public class HystrixConfig {@Beanpublic ServletRegistrationBean getServlet() {HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);registrationBean.setLoadOnStartup(1);registrationBean.addUrlMappings("/hystrix.stream");registrationBean.setName("HystrixMetricsStreamServlet");return registrationBean;} }
服务类
@Service @Slf4j public class EurekaRibbonService {@AutowiredRestTemplate restTemplate;@HystrixCommand(commandProperties = {@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds",value = "1000"),@HystrixProperty(name = "execution.isolation.strategy",value = "THREAD")},fallbackMethod = "syaHelloFailure")public String sayHello() {String message;message = restTemplate.getForObject("http://eureka-client/info", String.class); return message;}public String syaHelloFailure() {return "error";} }
启动类中加入@EnableHystrix注解。
2.负载均衡
spring-cloud的负载均衡是在客户端完成的
负载均衡的规则:
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule #配置规则 随机 NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RoundRobinRule #配置规则 轮询 NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RetryRule #配置规则 重试 NFLoadBalancerRuleClassName: com.netflix.loadbalancer.WeightedResponseTimeRule #配置规则 响应时间权重ribbon方式
@Configuration public class RestTemplateConfig {@Bean@LoadBalanced //实现负载均衡public RestTemplate restTemplate() {return new RestTemplate();}}
配置文件
eureka-client: #对应的服务client的nameribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
如果是使用feign方式则只配置yml文件即可。
spring-cloud熔断和负载均衡相关推荐
- SpringCloud学习笔记(6)----Spring Cloud Netflix之负载均衡-Ribbon的使用
1. 什么是负载均衡? 负载均衡,就是分发请求流量到不同的服务器. 负载均衡一般分为两种 1. 服务器端负载均衡(nginx) 2. 客户端负载均衡(Ribbon) 2. 服务提供者(spring-c ...
- 微服务(三) 【手摸手带你搭建Spring Cloud】 Ribbon 什么是负载均衡?spring cloud如何实现负载均衡?ribbon负载均衡有几种策略?Ribbon是什么?
在上一章,我介绍了springcloud的eureka搭建.我们做了服务注册.最后我们还介绍了一些续约,失效剔除等参数配置.已经不需要再通过手动输入ip去访问服务,而是通过中心只需要通过服务名就可以获 ...
- Spring Cloud Gateway之负载均衡
本人最近在学习Spring Cloud Gateway但是发现网上的相关文章都没有介绍其如何使用负载均衡策略,那么本篇文章就给大家带来如何使用Spring Cloud Gateway负载均衡策略. ...
- 【微服务~原始真解】Spring Cloud —— 什么是负载均衡?
- 网关 Spring Cloud Gateway 实战负载均衡(Spring Cloud Loadbalancer)
- spring cloud 熔断_Spring Cloud 熔断器/断路器 Hystrix
在微服务架构中,业务会被拆分成一个个服务,服务间可以彼此调用.为了保证服务的高可用性,单个服务通常会被集群部署,但是由于网络等原因,服务并不能保证100%可用.如果某个服务出现了问题,那么调用这个服务 ...
- spring cloud 熔断hystrx
熔断是什么? 我们为什么要熔断? 熔断有什么好处? 让我们带着问题去边看边解答,这样的效果可能会好一些 首先,现阶段最火的话题是微服务,分布式等等. 微服务又是什么?(分布式现在先不说) 我比较官方的 ...
- Spring Cloud Ribbon 中的 7 种负载均衡策略
负载均衡通器常有两种实现手段,一种是服务端负载均衡器,另一种是客户端负载均衡器,而我们今天的主角 Ribbon 就属于后者--客户端负载均衡器. 服务端负载均衡器的问题是,它提供了更强的流量控制权,但 ...
- 分布式技术与实战第七课 高并发下高可用的熔断、降级、限流和负载均衡、监控以及统一的日志系统
第39讲:从双十一看高可用的保障方式 从这一课时开始,专栏内容进入最后一个模块,即分布式高可用系列,这部分的内容,我将以电商大促为背景,讲解系统限流.降级熔断.负载均衡.稳定性指标.系统监控和日志系统 ...
最新文章
- 蓝桥杯 历届试题 九宫重排
- 你知道面试官是如何刷人的吗
- [Leetcode][第95题][JAVA][不同的二叉搜索树 II][递归]
- Java enum枚举
- controller层没反应_一脚踏空就没命!57岁民警33层楼顶飞身救人
- mysql 创建聚集索引_索引为什么会加快Mysql的查询速度?
- 55欧式空间02——标椎正交基、Schmidt 正交化、正交矩阵、欧氏空间的同构、QR分解
- 与程序员相关的CPU缓存知识
- RMAN使用备份传输表空间
- HTTP协议原理与代码实践之大纲
- 热门好用的邮编查询API
- python全栈马哥_马哥2018python全栈视频
- RF 无法连接到服务器,这可能由于连接的服务不存在,TCP 错误代码 10061
- 吐纳六字气法的形成与发展
- 2022年5月4号SSM框架整合学习一:
- OkHttp系列——使用教程
- 鸿蒙玺绶能升级么,属性激增 《诛仙2》强力装备大集合(三)
- M洞察|“MOBA”还是“MMO”?2023上半年热门手游大盘点来了,拯救你的游戏荒
- 本地小说阅读网站打造
- c语言编写程序,输入正整数n,计算0到n以内所有奇数的和,c语言输入正整数n,计算1~n中的奇数和以及偶数和并输出....
热门文章
- 数学建模:评价模型——主成分分析 PCA SPSS实现、python实现
- Leetcode每日一题:66.plus-one(加一)
- Leetcode每日一题:3.无重复字符的最长子串
- 一个斐波那契数列题 HDU 2041
- 剑指offer (03):数组中重复的数字 (C++ Python 实现)
- C++ STL标准模板库
- html audio无法播放,audio 无法播放的问题
- 苹果屏幕使用时间怎么设置_苹果手机屏幕不能旋转怎么办
- 若依如何配置允许跨域访问?
- Jenkins 无法运行 putty.exe问题解决