golang微服务熔断器的使用

84 篇文章 3 订阅
31 篇文章 0 订阅

熔断器的基本作用:
作为检查服务是否有效,避免大量请求堵塞在一个失效请求,如果服务端失效,则会进行降级处理,可以自动进行第一个接口的请求,如果正常使用,自动进行调用第一个接口

config := hystrix.CommandConfig{Timeout: 1000 , SleepWindow : 1000}//超时配置,此时为了测试,如果超时一秒钟,则会进行业务转发,降级处理
 //如果第一个接口失效,则间隔1000毫秒进行再次请求,如果正常使用,则业务仍会调用第一个接口
hystrix.ConfigureCommand("test" , config)
//配置的绑定
//返回error,如果进行业务转发,则会将具体转发原因进行返回,例如:超时,同时访问量过大
err := hystrix.Do("test" , func() error {//一级接口使用
res , err =  proserver.Call(context.Background(),&u)
//远程调用接口,如果该接口超时,则进行转发和降级处理
	return err
	} , func(err error) error {
//如果一级接口失效,则将请求自动转发到第二个接口,请求第二个接口
	res.Msg="has error ,already turn down level"
	return err
                        })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值