服务熔断设计

本文阐述了系统微服务化后引入熔断机制的必要性,详细解释了熔断系统的需求,包括返回默认值、报警、配置下发及可视化监控。探讨了基于RPCClient和服务治理平台的优雅解决方案,以及具体的业务流程和技术实现细节。

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

一、熔断的目的

系统微服务化后,分布式部署,系统之间通过RPC框架进行通信,系统发生故障的概率随着系统规模的增长而加大;

在调用服务时,一些非关键路径发生问题,不能影响整个系统的服务。

 

二、熔断系统需求

1、熔断返回默认值,或者null,最好RPC client就能支持,无需业务改动;

2、熔断发生时,进行报警,并打印异常日志;

3、可以实时下发配置,手动和自动都可以实现熔断;

4、可视化监控平台,能看到是否发生熔断。

 

三、方案

业界方案:Netflex OSS Hystrix,业务侵入较大

优雅方案:RPC Client+服务治理平台方式

    基于RPC Client实现熔断,统计调用决定是否进行熔断,服务治理平台存储相关配置。

 

四、业务流程

1、创建代理层,避免对业务侵入,所有熔断业务在代理层完成

2、代理层拉取熔断配置

3、Client发起RPC调用,通过代理层

4、是否触发本地熔断,如果熔断,返回默认值,并报警,熔断的配置可以设置过期时间,设置两个key,key1表示所有熔断,key2表示部分熔断,key1过期时间比key2短,当key1过期是,开始尝试部分恢复请求,如果都成功,则删除key2;如果还是失败,重新设置key1恢复全部熔断,并延长key2时间,重复以上步骤。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值