golang 微服务中的断路器 hystrix

本文介绍了在Golang微服务中使用断路器避免服务雪崩,重点讨论了hystrix-go库的功能和运行流程。hystrix-go通过断路器模式隔离调用者和服务提供者,提供信号量和线程隔离保护,具备强大的容错能力。文章详细解析了hystrix的三种状态和Metrics控制器的作用,并强调了Metrics控制器在统计调用指标和决定断路器状态中的关键作用。
摘要由CSDN通过智能技术生成

之前说到过微服务容错处理,可以使用 断路器

使用断路器的原因是:

当下游的服务因为过载或故障,无法提供服务,我们需要及时的让上游服务知悉,且暂时 熔断 调用方和提供方的调用链,这是为了避免服务雪崩现象的发生

go 里面可以使用什么方式来做断路器 呢?

hystrix-go

go 中有一个项目实现了 这个断路器的功能:

https://github.com/afex/hystrix-go

Hystrix 能够在服务提供者出现故障时,隔离调用者和提供者,防止服务级联失败

并且 Hystrix 还提供失败回滚的逻辑,是系统快速从异常中恢复

为啥要用 Hystrix 来作为断路器?

  • Hystrix 自身完美的是实现了断路器模式
  • 自身可以提供信号量和线程隔离的方式以保护服务调用者的线程资源
  • 对延迟和失败提供了强大的容错能力,为系统提供保护和控制

图解 Hystrix 运行流程

如下是 golang 微服务容错处理是如何做的? 提到的断路器的 三种状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值