断路器模式

断路器模式

  • Closed: 正常情况,应用请求被路由到此服务处理,断路器处于关闭状态。 断路器作为代理去维护一个失败计数器,如果处理失败,则断路器会相应的增加失败次数。如果最近的出错次数达到了既定的时间窗口内的阈值,则断路器代理变为Open状态。与此同时,会启动一个计时器,如果计时器结束,则将断路器代理变为Half-Open状态。

计时器的作用是给系统一定的时间在应用再次发起处理请求之前修复问题

  • Open: 断路器处于此状态时,应用请求过来直接Fast-Fail,并返回一个异常给应用。
  • Half-Open: 允许有限的请求进来。断路器此时维护一个成功计数器,如果这些处理全部成功或成功数达到既定时间窗口内的阈值,则假定导致之前出错的问题已被修复,断路器变为Close状态并重置出错次数,如果有任何请求处理失败或成功数未达到阈值,则断路器假定问题尚未修复,重新将断路器变为Open状态,并重启一个更长时间的计时器,继续等待服务恢复。

Half-Open状态可防止偶发的大流量请求影响服务的恢复,服务正在恢复时应该能处理有限的请求,但是如果此时有大流量进来,可能会导致服务的再次瘫痪。

image.png

上图中,失败计数器是基于时间的,会自动按周期性重置,这样可以防止应用因为偶发性的失败而进入Open状态。
成功计数器并不是基于时间,特定数量的连续请求都被成功处理时才会将断路器置为Close状态,如果有任何请求处理失败,则断路器立刻变为Open状态,成功计数器会在断路器下次进入Half-Open状态时被重置。

系统有可能会自行恢复服务,也有可能需要通过还原、重启失败的组件或者修复网络等外部方式来恢复服务。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,723评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,003评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,512评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,825评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,874评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,841评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,812评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,582评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,033评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,309评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,450评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,158评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,789评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,409评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,609评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,440评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,357评论 2 352

推荐阅读更多精彩内容

  • 断路器模式 当连接到远程服务或资源到时候,处理那些需要一段时间才能修复的系统缺陷。这能优化应用对稳定性和可靠性。 ...
    汀三丁阅读 477评论 1 2
  • 依赖隔离 Hystrix的依赖隔离采用了线程池隔离方式,会为每个HystrixCommand创建一个独立的线程池,...
    HmilyMing阅读 1,783评论 0 0
  • 背景 你已经使用了微服务架构。有时服务结合起来处理请求。当一个服务同步条用另一个服务时,总有肯呢个出现其他服务不可...
    scheshan阅读 207评论 0 0
  • 为什么要实现断路器模式? 在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在S...
    圣贤与无赖阅读 2,463评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,649评论 18 139