首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >分享线上的一次熔断

分享线上的一次熔断

作者头像
公众号-利志分享
发布2022-04-25 09:14:41
发布2022-04-25 09:14:41
3090
举报
文章被收录于专栏:利志分享利志分享

前些日子我们服务出了一次故障,刚开始都有点蒙,不知道为啥突然就出问题了,然后我们通过紧急的定位,半个小时查到问题所在。

大概是23.30分,运营反馈活动数据一直没变化,我开始查看后台数据,看了数据少了,然后直接找业务负责人看下业务服务是不是有异常,我首先看了下日志,有个error的报错,报错是:circuit breaker 'service' is open,看了下是熔断的意思,然后想到可能是连接上报数据服务异常了,我想到今天是刚上线,可能是那个上报的服务名写错了,然后我检查代码,确认了一下,没有写错,然后我想是不是接受上报的服务挂了,然后我确认了一下上报服务,上报服务是正常的,数据的写入也是正常的。然后我去看了一下今天的数据趋势,发现从21.19分开始数据突然降了一倍,然后我定位问题肯定是从这个时候出现的。然后怀疑是不是网关服务问题或者业务服务和上报服务中间中间网络问题,然后我先去排除一下两个服务中的网络,先telnet一下上报服务的端口,竟然连不上,这个时候神情露出喜悦的笑脸,然后我联系上运维,问了今天业务服务和数据服务中间网络不通了,原来是今天启用了安全策略,有些端口被封了,这个时候我让运维从新开放端口,数据开始恢复了。

头一次遇到熔断的问题,然后按照之前学的思路去检查问题所在,深切感觉到理论知识的重要性。

下面我们来复习一下熔断知识:

通过熔断机制来挽救整个系统,下面的图是熔断机制的产生。

什么是服务熔断?

  • 在互联网系统中,当下游服务因访问压力过大而响应变慢或失败,上游服务为了保护系统整体的可用性,可以暂时切断对下游服务的调用。这种牺牲局部,保全整体的措施就叫做熔断。

关于熔断的解释

开启熔断

  • 在固定时间窗口内,接口调用超时比率达到一个阈值,会开启熔断。
  • 进入熔断状态后,后续对该服务接口的调用不再经过网络,直接执行本地的默认方法,达到服务降级的效果。

熔断恢复

  • 熔断不可能是永久的。
  • 当经过了规定时间之后,服务将从熔断状态回复过来,再次接受调用方的远程调用。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 利志分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档