zoukankan
html css js c++ java
Spring Cloud之Hystrix断路器
分布式系统面临的问题
复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。
服务雪崩
多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“
扇出
”。
如果扇出的链路上某个微服务的调用响应时间过长或者不可用,
对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”.
对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几秒钟内饱和。比失败更糟糕的是,这些应用程序还可能导致服务之间的延
迟增加,备份队列,线程和其他系统资源紧张,
导致整个系统发生更多的级联故障。这些都表示需要对故障和延迟进行隔离和管理,以便单个依赖关系的失败,不能取消整个应用程序或系统。
Hystrix
是什么?
Hystrix是一个用于处理分布式系统的
延迟
和
容错
的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下,
不会导致整体服务失败,避免级联故障
,
以提高分布式系
统的弹性
。 “断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),
向调用方返回一个符合预期的、可处理的备选响应(FallBack),而不是长时间的等待或者抛出调用方无法处理的
异常
,这样就保证了服务调用方的线程不会被长时间、不必要地占用,从而避免了故障在分布式系统中的蔓延,乃至雪崩。
Hystrix能干嘛?
服务降级、服务熔断、服务限流、接近实时的监控......
官网资料
https://github.com/Netflix/Hystrix/wiki/How-To-Use
查看全文
相关阅读:
Intellij IDEA使用restclient测试
jmeter测试
Java中String为什么是不可变的
为什么String类是不可变的?
反射中getMethods 与 getDeclaredMethods 的区别
MD5加密
将long型转换为多少MB的方法
ContentProvider往通讯录添加联系人和获取联系人
安卓软件版本更新
Servlet生命周期与工作原理
原文地址:https://www.cnblogs.com/my-program-life/p/12229418.html
最新文章
redis主从配置及主从切换
Redis Cluster集群的搭建与实践
Linux下Redis服务器安装配置
centOS7.0配置防火墙
用Redis Desktop Manager连接Redis(CentOS)
iOS 百度地图报私有api的解决方案
iOS textFiledView,label自适应高度
苹果中国开发者电话
iOS 控制输入框的字数?(textFliedView,textFlied等)
iOS 给view,button,text filed,label等添加边框和颜色
热门文章
iOS 不允许横屏的简单代码
iOS 简单实用的一些宏定义
iOS利用AFNetworking(AFN) 实现图片上传
IOS 根据数组的个数对UIButton进行重复或循环使用
iOS App Store网址的命名规则
lambda表达式不同对象根据对象某个属性去重
fastjson对象,JSON,字符串,map之间的互转
java判断字符串是否为数字
JDK源码阅读顺序
Java IO写文件效率
Copyright © 2011-2022 走看看