容器扩展的艺术:熔断器

F5生态系统 | 2018年1月18日

要实现容器扩展,不能只是在服务前面加个代理就万事大吉。扩展不仅涉及流量分配。在快速发展的容器领域,要确保可扩展性,需要具备五项不同的能力:重试、断路器、服务发现、流量分配和监控。

在容器扩展艺术系列的第2篇文章中,我们将深入探讨断路器。

断路器

托马斯·爱迪生因发明了数千种未能奏效的小装置和少数几项广为人知的实用发明而闻名。早在1879年的一份专利申请中,他就提出了断路器的概念。没错,那个年代就已经有专利了。爱迪生的版本使用必须更换的保险丝(有些人可能还记得在老式汽车里手忙脚乱地寻找保险丝的情景),而现代版本通常会通过“跳闸”来切断电流,之后可以复位,恢复正常的电流和运行。

在规模扩展场景中,断路器的工作原理与此相同。它们会检测“溢出”并主动切断流量,避免连接另一端的服务不堪重负。断路器也可以重置,随后恢复请求和响应的正常流转。

长期以来,熔断器一直是负载均衡代理的一部分。其基本原理是,如果尝试X次后仍无法访问某项服务,则说明该服务已停止运行。没有理由继续向它请求其无法提供的内容,这样做只会浪费代理和网络资源。因此,在失败次数达到一个通常可配置的阈值后,代理会“断开”回路,并拒绝继续尝试连接。

这与重试并不相同,尽管两者的过程看起来相似。重试以请求最终会成功为前提,而断路器则以请求会失败为前提,因此应避免继续尝试,以免浪费时间和资源。

问题解决后,可以“重置”断路器,恢复正常流程。

早期,这一过程需要手动完成。操作员必须先确认目标服务确实已恢复运行,然后执行重置。近年来,通过运行状况监控,这一过程已实现自动化。系统通常会定期尝试连接该服务;连接成功后,便会重置断路器,使系统恢复正常运行。

在容器化微服务环境中,服务之间以及进出服务的流量很大,因此断路器尤为重要。有些故障可能很快就能识别,而另一些故障则可能因网络堆栈问题,直到漫长的TCP超时后才会被发现。超时会带来不必要的延迟,因此在设置断路和重试机制时,应考虑应用整体对延迟的容忍度(或不容忍程度,视具体情况而定)。配置这些值时,需要综合考虑超时值以及业务对性能的预期。如果对延迟的容忍度较低,可能需要减少重试次数,并更快地触发断路。

分享
标签: 2018

关于作者

Lori Mac Vittie
Lori Mac Vittie杰出工程师兼首席技术布道师 | F5

Lori MacVittie是F5首席技术官办公室的杰出工程师兼首席技术布道师,在应用交付、自动化战略和基础设施领域拥有深厚的专业知识。无论是为AI智能体定义防护机制、剖析脆弱的多云架构,还是探索可扩展系统的极限,她都善于化繁为简。她在应用开发、IT架构以及网络和系统运维领域拥有30多年的行业经验。加入F5之前,她曾担任技术编辑,并因出色表现获得奖项。 MacVittie拥有计算机科学硕士学位,著述颇丰,出版作品涵盖安全、云和企业架构领域。她还热衷于桌面游戏和电子游戏,并且对奶酪有着毫不掩饰的鲜明见解。

Lori Mac Vittie 的更多博客文章

相关博客文章

F5纪念2021年世界艾滋病日
F5生态系统 | 2021/12/01

F5纪念2021年世界艾滋病日

值此世界艾滋病日,F5郑重承诺,将与员工、客户、社区和合作伙伴共同努力,消除社会对HIV感染者仍然存在的污名与偏见。

Thingbot正转变为攻击平台
F5生态系统 | 2018/11/29

Thingbot正转变为攻击平台

Lori MacVittie重点介绍了F5 Labs对2018年1月至6月全球物联网设备攻击的研究,并指出了其中令人警醒的影响。物联网设备不仅持续遭到利用,还被转变为攻击平台,这意味着攻击者可以更充分地利用这个必然增长的市场。

借助F5全新Quick Start,在AWS上快速开展业务
F5生态系统 | 2018/11/20

借助F5全新Quick Start,在AWS上快速开展业务

在AWS re:Invent开幕前,我们很高兴与大家分享F5与AWS之间全新的Quick Start集成。F5的Tom Atkins将介绍该服务如何启动、配置和运行在AWS上部署工作负载所需的计算、网络、存储及其他AWS服务。

为什么声明式模型对NetOps自动化至关重要?
F5生态系统 | 2018/04/30

为什么声明式模型对NetOps自动化至关重要?

为什么声明式模型对NetOps自动化至关重要?阅读F5博客,了解基础设施即代码如何简化网络扩展。

开源聚焦:F5基础设施即代码与多云可管理性
F5生态系统 | 2017/11/16

开源聚焦:F5基础设施即代码与多云可管理性

开源聚焦:基础设施即代码与多云。阅读博客,了解模板和Terraform如何简化F5应用服务的部署。

破解IT“无解困局”的答案:私有云
F5生态系统 | 2016/09/12

破解IT“无解困局”的答案:私有云

破解IT“无解困局”的答案:私有云。阅读F5博客,了解本地部署的敏捷性如何化解安全与速度难以兼顾的问题。