16、理解API网关:原理、设计与实践

理解API网关:原理、设计与实践

1. Hystrix的熔断机制

当电路的网络流量超过配置的临界值时,Hystrix会先检查服务的健康状况,采取预防措施。在检查健康状况时,如果错误百分比超过预定义的阈值,电路会从关闭状态转变为打开状态,后续所有请求都会因断路错误被拒绝,防止进一步的请求。经过一段设定的时间后,Hystrix会允许一个请求通过,以检查服务是否已恢复。如果通过了预期测试,电路会再次转变为关闭状态,所有计数器重置。

在应用中使用Hystrix,只需创建服务命令并添加相关值,示例代码如下:

var serviceCommand = CommandsFactory.getOrCreate("Service on port :"+ service.port +":"+ port)
 .circuitBreakerErrorThresholdPercentage(service.errorThreshold)
 .timeout(service.timeout)
 .run(makeRequest)
 .circuitBreakerRequestVolumeThreshold(service.concurrency)
 .circuitBreakerSleepWindowInMilliseconds(service.timeout)
 .statisticalWindowLength(10000)
 .statisticalWindowNumberOfBuckets(10)
 .errorHandler(isErrorHandler)
 .build();
serviceCommand.service = s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值