谈谈熔断与降级

笔者在工作中,主要维护所在bg的营销活动的列表,活动的列表像商详页或团详页一样需要聚合大量服务提供的数据,而且作为后两者的入口,活动列表出不得任何闪失,否则结局必是灾难性的。每一次的大促活动能否平安度过,取决于平日准备时对这些下游服务更好地把控。熔断降级作为最基本和有效的手段,保证了服务的柔性可用,提高系统整体的可用性与稳定性。接下来就谈谈熔断和降级。

先简单一句话概括,降级就是在调用的下游服务A出现问题(常见超时),提供PLAN-B,返回的效果可能没有服务A好,但是聊胜于无。而熔断器的存在就是要保障何时走到降级方法,何时恢复,以什么样的策略恢复。

接下来,我想举个例子,详细说明熔断降级的作用和必要性。

就用我们公司最有意思的神秘民间组织,美团外卖举例。

如上图,我们公司在该地区一共有4个外面小哥,编号0-3;该地有6家流行餐厅,几乎是用户必点。编号从A-F。故事开始前,我们做如下假定:

(1)外卖火爆,几乎外卖小哥每次在外都能接到不止一单,且是不同的餐厅;

(2)外卖小哥都是耿直的人,不取完本次接单的几家餐厅,不轻易送餐。

一切看起来很和谐,直到有一天,餐厅A出事了,主厨的大叔失恋了,出餐的速度大降。每个要去餐厅A取餐的小哥都要花费更长的时间在A等餐。而且餐厅A越流行,出餐速度越慢,排队等待的小哥就会越多。在上图中,最后4个外卖小哥,有3个都排队在等A餐厅的饭食。这有两点直接影响:

(1)不光是A,其他餐厅单子也还没有配送,用户吃不到A的饭,就连其他用户点的B、C、D的饭也不能配送,差评,卸载,美团一生黑;

(2)3/4的外卖小哥处于低效率地排队等待,而不是送餐,降低了整个公司在该地区的配送效率,老王坐不住了。

然而,正如江湖传言,美团外卖是个神秘的组织,有一天,一个机智的小哥,横空出世,改变了整个行业的布局。


小哥在餐厅A亲自操刀,很快就做完后,送餐了。用户收到热乎乎的饭菜,吃起来没有以前的好吃,但也觉察不出任何异样,不会投诉;整个地区的小哥又重新流通起来,恢复到大叔失恋前的配送效率。

后来,在公司的内部总结中。发现不光是A餐厅的大叔会失恋,C餐厅D餐厅的大叔们也偶尔失恋,影响出餐速度。后来公司和这些餐厅们商量,为更好的规范化出餐流程,各餐厅新添加二叔,二叔厨艺一般,请二叔各餐厅花费成本不高,所以纷纷表示赞同。

在实践的过程中,小哥和大叔二叔们约定,如果在规定时间和次数,大叔不能按时出参,那么二叔替代大叔,接相同的单,用同样的锅;大叔的出餐速度会被定期检查,是否恢复了正常水平,恢复了之后,单子慢慢还由大叔下厨。

现在,我们来对应下关系。

美团外卖大本营——容器,常见的如tomcat,jetty的线程池

外卖小哥——线程

 餐厅——服务接口

二叔——降级方法

大叔到二叔的切换——熔断

恢复大叔下厨——熔断降级的恢复策略。

熔断保证了下游服务在出错率达到阈值时,上游调用切换到降级方法,提供有损服务,避免服务的级联失败,影响整个系统的稳定性。熔断的时机,取决于业务的实际场景和流量大小,不要过高,也不要过低;恢复的策略,其核心是恢复的速率,不要过快也不要过慢。一句废话,看需求。

在公司,我们有自己的故障演练分析防护的平台,由于没开源,不便过多闲话。在开源社区,也有很多相应的产品,比较推荐的,也是目前使用较为广泛的是NetFlix的Hystrix,Hystrix是个完善的容错库,实现了熔断降级、线程隔离、限流等多种功能,开箱即用,有需要的朋友速速入手吧。

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

推荐阅读更多精彩内容