找回密码
 会员注册
查看: 35|回复: 0

扒一扒隔离熔断之HystrixVSSentinel

[复制链接]

4

主题

0

回帖

13

积分

新手上路

积分
13
发表于 2024-9-20 01:02:30 | 显示全部楼层 |阅读模式
publicObservabletoObservable(){...finalFunc0>applyHystrixSemantics=newFunc0>(){@OverridepublicObservablecall(){if(commandState.get().equals(CommandState.UNSUBSCRIBED)){returnObservable.never();}returnapplyHystrixSemantics(_cmd);//1.关键步骤,命令处理}};...privateObservableapplyHystrixSemantics(finalAbstractCommand_cmd){...if(circuitBreaker.attemptExecution()){//1.【断路器相关处理】,之后HystrixCircuitBreaker中展示..if(executionSemaphore.tryAcquire()){//2.获取信号量,如果是THREAD线程池策略,【直接返回true】,这里需要注意,不然流程将进行不下去try{executionResult=executionResult.setInvocationStartTime(System.currentTimeMillis());returnexecuteCommandAndObserve(_cmd)//3.核心执行方法.doOnError(markExceptionThrown).doOnTerminate(singleSemaphoreRelease).doOnUnsubscribe(singleSemaphoreRelease);}...}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-26 12:25 , Processed in 0.340692 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表