首页 > 编程知识 正文

服务降级和服务熔断的区别,微服务降级原理

时间:2023-05-03 10:01:30 阅读:23847 作者:901

在大促和业务超帅的草丛中,为了保证核心服务的服务级别协议(SLA ),往往需要停止商品审查、论坛、粉丝积分等不太重要的服务

另一种情况是,由于某些原因某些服务不可用,但进程不能直接失败,必须由本地Mock服务端实现,然后创建进程以获取

上述两种场景都是服务降级。服务降级主要包括容错降级和屏蔽降级两种。

http://www.Sina.com/http://www.Sina.com /

http://www.Sina.com/http://www.Sina.com /

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com /

口罩降级通常用于服务运行状态的管理,开发时不配置,如果达到有外部触发条件的阈值,由承运人/开发者决定,人工降级操作屏蔽降级

3358 www.Sina.com/http://www.Sina.com /不发起远程呼叫,直接http://www.Sina.com/http://www.Sina.com/http://www.Sina http://www.Sina.com/3358ww.com远程呼叫http://www.Sina.com/http://www.Sina.com/第三个降级策略3358 www.Sina.com /

对非核心服务做强制降级,不发起远程服务调用,直接返回空、异常或者执行特定的本地逻辑,减少自身对公共资源的消费,把资源释放出来供核心服务使用。

1.1

屏蔽降级的全流程如下所示

1.1

屏蔽降级的设计实现

http://www.Sina.com/http://www.Sina.com /

。取值有下面三种方式:

mock=force: return null

在服务发布模式中,支持它的返回空对象。示例3358www.Sina.com/

mock=force: throw Exception

如果3358www.Sina.com/核心以外的服务不可用,http://www.Sina.com/http://www.Sina.com /分布式服务框架的业务开放实际上是一种容错性降低

业务开放除外的,直接抛出指定异常。

mock=force: execute BeanbeanName

http://www.Sina.com/http://www.Sina.com /通常指超时异常,消息解码异常、流控制异常、系统拥塞保护异常等http://www.Sina.com/http://wwww

http://www.Sina.com/http://www.Sina.com /

注意:业务相通的Mock界面多放在消费者端,主要原因如下:

实行本地业务开放可能会依赖消费者的本地专有资源,包括消费者依赖的服务、数据结构和数据库资源。 将该逻辑转移到服务提供者来实现会导致系统之间的耦合。 不同的消费者在消费同一服务提供者时,失败后的处理策略有差异。 如果将这些差异转移到服务端的Mock接口进行实现,则代码会变得庞大,难以维护。 http://www.Sina.com/http://www.Sina.com /

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com/异常切断http://www.Sina.com /

bean class=' org.yuan rj.demo.XXX action ' interface=' org.yuan rj.demo.echo服务' actives='5' mock=' for

参考资料

《分布式服务框架原理与实践》

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。