微服务之Go-Micro(十)服务熔断和降级 hystrix-go 介绍

本文介绍了hystrix-go,它是Go语言实现的类似Netflix Hystrix的库,用于实现服务熔断和降级,保护分布式系统免受级联故障影响。通过定义业务逻辑和回退操作,hystrix-go可以在外部服务不可用时确保应用的高可用性。此外,还讲述了如何配置命令设置、使用同步API以及如何启用仪表板指标和上报metrics到statsd。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

  • circuit metrichystrix是Netflix的一个牛逼项目
  • Hystrix是一个延迟和容错库,旨在隔离对远程系统、服务和第三方库的访问点,停止级联故障,并在故障不可避免的复杂分布式系统中实现恢复能力。
  • 定义的回退和自适应健康监控的Hystrix模式对任何分布式系统都是很好的。即便Go例程和通道是很好的并发原语,但也不能直接帮助我们的应用程序在失败时保持可用。
  • hystrix-go 的目标是允许go程序员使用基于Java的hystrix库的类似执行语义轻松构建应用程序。

使用说明

  • 以命令模式执行 Hystrix 代码
  • 定义依赖外部系统的业务程序逻辑(即运行外部业务逻辑的入口),将功能传递给hystrix-go
  • 系统正常时,就只会运行这个业务程序逻辑
hystrix.Go("my_command", func() error {
   
   
	// talk to other services
	return nil
}, nil)
  • 定义回退行为
  • 如果你想要你的外部业务代码在服务中断期间运行,那你就把第二个函数,也就是运行外部业务逻辑的入口,传给hystrix-go
  • 这段逻辑允许应用程序优雅的处理不可用的外部服务
  • 当您的代码返回错误时,或者根据各种运行状况检查无法完成时,就会触发此事件
hystrix.Go("my_command", func() 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值