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

介绍

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

使用说明

  • 以命令模式执行 Hystrix 代码
  • 定义依赖外部系统的业务程序逻辑(即运行外部业务逻辑的入口),将功能传递给hystrix-go
  • 系统正常时,就只会运行这个业务程序逻辑
hystrix.Go("my_command", func() error {<