Spring cloud报错com.netflix.hystrix.exception.HystrixRuntimeException
现象
- 生产环境,接口调用失败
- feign客户端接口访问超时
- 查看服务正常,没有报错日志
- 仔细看了下,没有日志,应该是请求没有到达feign服务提供者
- 部分日志如下:
com.netflix.hystrix.exception.HystrixRuntimeException: IMsgSubmitPersonSynServiceClient#getMsgSubmitPerson(MsgSubmitPersonSynVO) failed and fallback failed.at com.netflix.hystrix.AbstractCommand$22.call(AbstractCommand.java:832)at com.netflix.hystrix.AbstractCommand$22.call(AbstractCommand.java:807)at rx.internal.operators.OperatorOnErrorResumeNextViaFunction$4.onError(OperatorOnErrorResumeNextViaFunction.java:140)at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onError(OnSubscribeDoOnEach.java:87)at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onError(OnSubscribeDoOnEach.java:87)at com.netflix.hystrix.AbstractCommand$DeprecatedOnFallbackHookApplication$1.onError(AbstractCommand.java:1472)at com.netflix.hystrix.AbstractCommand$FallbackHookApplication$1.onError(AbstractCommand.java:1397)at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onError(OnSubscribeDoOnEach.java:87)at rx.observers.Subscribers$5.onError(Subscribers.java:230)at rx.internal.operators.OnSubscribeThrow.call(OnSubscribeThrow.java:44)at rx.internal.operators.OnSubscribeThrow.call(OnSubscribeThrow.java:28)at rx.Observable.unsafeSubscribe(Observable.java:10327)at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51)at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)at rx.Observable.unsafeSubscribe(Observable.java:10327)at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.Observable.unsafeSubscribe(Observable.java:10327)at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)at rx.Observable.unsafeSubscribe(Observable.java:10327)at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.Observable.unsafeSubscribe(Observable.java:10327)at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.Observable.unsafeSubscribe(Observable.java:10327)at rx.internal.operators.OperatorOnErrorResumeNextViaFunction$4.onError(OperatorOnErrorResumeNextViaFunction.java:142)at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onError(OnSubscribeDoOnEach.java:87)at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onError(OnSubscribeDoOnEach.java:87)at com.netflix.hystrix.AbstractCommand$HystrixObservableTimeoutOperator$3.onError(AbstractCommand.java:1194)at rx.internal.operators.OperatorSubscribeOn$SubscribeOnSubscriber.onError(OperatorSubscribeOn.java:80)at rx.observers.Subscribers$5.onError(Subscribers.java:230)at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onError(OnSubscribeDoOnEach.java:87)at rx.observers.Subscribers$5.onError(Subscribers.java:230)at com.netflix.hystrix.AbstractCommand$DeprecatedOnRunHookApplication$1.onError(AbstractCommand.java:1431)at com.netflix.hystrix.AbstractCommand$ExecutionHookApplication$1.onError(AbstractCommand.java:1362)at rx.observers.Subscribers$5.onError(Subscribers.java:230)at rx.observers.Subscribers$5.onError(Subscribers.java:230)at rx.internal.operators.OnSubscribeThrow.call(OnSubscribeThrow.java:44)at rx.internal.operators.OnSubscribeThrow.call(OnSubscribeThrow.java:28)at rx.Observable.unsafeSubscribe(Observable.java:10327)at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51)at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.Observable.unsafeSubscribe(Observable.java:10327)at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51)at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)at rx.Observable.unsafeSubscribe(Observable.java:10327)at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.Observable.unsafeSubscribe(Observable.java:10327)at rx.internal.operators.OperatorSubscribeOn$SubscribeOnSubscriber.call(OperatorSubscribeOn.java:100)at com.netflix.hystrix.strategy.concurrency.HystrixContexSchedulerAction$1.call(HystrixContexSchedulerAction.java:56)at com.netflix.hystrix.strategy.concurrency.HystrixContexSchedulerAction$1.call(HystrixContexSchedulerAction.java:47)at com.netflix.hystrix.strategy.concurrency.HystrixContexSchedulerAction.call(HystrixContexSchedulerAction.java:69)at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)
Caused by: feign.RetryableException: 拒绝连接 (Connection refused) executing POST http://center-platform/api/msgSubmit/getMsgSubmitPerson?dataFlag=1at feign.FeignException.errorExecuting(FeignException.java:65)at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:105)at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:77)at feign.hystrix.HystrixInvocationHandler$1.run(HystrixInvocationHandler.java:107)at com.netflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:302)at com.netflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:298)at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:46)... 26 more
Caused by: java.net.ConnectException: 拒绝连接 (Connection refused)at java.net.PlainSocketImpl.socketConnect(Native Method)at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)at java.net.Socket.connect(Socket.java:589)at sun.net.NetworkClient.doConnect(NetworkClient.java:175)at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)at sun.net.www.http.HttpClient.New(HttpClient.java:339)at sun.net.www.http.HttpClient.New(HttpClient.java:357)at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1220)at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156)at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050)at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:984)at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1334)at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1309)at feign.Client$Default.convertAndSend(Client.java:131)at feign.Client$Default.execute(Client.java:71)at org.springframework.cloud.openfeign.ribbon.RetryableFeignLoadBalancer$1.doWithRetry(RetryableFeignLoadBalancer.java:103)at org.springframework.cloud.openfeign.ribbon.RetryableFeignLoadBalancer$1.doWithRetry(RetryableFeignLoadBalancer.java:88)at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:287)at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:180)at org.springframework.cloud.openfeign.ribbon.RetryableFeignLoadBalancer.execute(RetryableFeignLoadBalancer.java:88)at org.springframework.cloud.openfeign.ribbon.RetryableFeignLoadBalancer.execute(RetryableFeignLoadBalancer.java:54)at com.netflix.client.AbstractLoadBalancerAwareClient$1.call(AbstractLoadBalancerAwareClient.java:104)at com.netflix.loadbalancer.reactive.LoadBalancerCommand$3$1.call(LoadBalancerCommand.java:303)at com.netflix.loadbalancer.reactive.LoadBalancerCommand$3$1.call(LoadBalancerCommand.java:287)at rx.internal.util.ScalarSynchronousObservable$3.call(ScalarSynchronousObservable.java:231)at rx.internal.util.ScalarSynchronousObservable$3.call(ScalarSynchronousObservable.java:228)at rx.Observable.unsafeSubscribe(Observable.java:10327)at rx.internal.operators.OnSubscribeConcatMap$ConcatMapSubscriber.drain(OnSubscribeConcatMap.java:286)at rx.internal.operators.OnSubscribeConcatMap$ConcatMapSubscriber.onNext(OnSubscribeConcatMap.java:144)at com.netflix.loadbalancer.reactive.LoadBalancerCommand$1.call(LoadBalancerCommand.java:185)at com.netflix.loadbalancer.reactive.LoadBalancerCommand$1.call(LoadBalancerCommand.java:180)at rx.Observable.unsafeSubscribe(Observable.java:10327)at rx.internal.operators.OnSubscribeConcatMap.call(OnSubscribeConcatMap.java:94)at rx.internal.operators.OnSubscribeConcatMap.call(OnSubscribeConcatMap.java:42)at rx.Observable.unsafeSubscribe(Observable.java:10327)at rx.internal.operators.OperatorRetryWithPredicate$SourceSubscriber$1.call(OperatorRetryWithPredicate.java:127)at rx.internal.schedulers.TrampolineScheduler$InnerCurrentThreadScheduler.enqueue(TrampolineScheduler.java:73)at rx.internal.schedulers.TrampolineScheduler$InnerCurrentThreadScheduler.schedule(TrampolineScheduler.java:52)at rx.internal.operators.OperatorRetryWithPredicate$SourceSubscriber.onNext(OperatorRetryWithPredicate.java:79)at rx.internal.operators.OperatorRetryWithPredicate$SourceSubscriber.onNext(OperatorRetryWithPredicate.java:45)at rx.internal.util.ScalarSynchronousObservable$WeakSingleProducer.request(ScalarSynchronousObservable.java:276)at rx.Subscriber.setProducer(Subscriber.java:209)at rx.internal.util.ScalarSynchronousObservable$JustOnSubscribe.call(ScalarSynchronousObservable.java:138)at rx.internal.util.ScalarSynchronousObservable$JustOnSubscribe.call(ScalarSynchronousObservable.java:129)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.Observable.subscribe(Observable.java:10423)at rx.Observable.subscribe(Observable.java:10390)at rx.observables.BlockingObservable.blockForSingle(BlockingObservable.java:443)at rx.observables.BlockingObservable.single(BlockingObservable.java:340)at com.netflix.client.AbstractLoadBalancerAwareClient.executeWithLoadBalancer(AbstractLoadBalancerAwareClient.java:112)at org.springframework.cloud.openfeign.ribbon.LoadBalancerFeignClient.execute(LoadBalancerFeignClient.java:63)at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:98)... 31 more
原因
- 有人偷懒,没有本地启动Eureka注册中心,连上了线上的注册中心
- 注册中心没有及时把不可用的服务节点降级移除
- Eureka自我保护机制,我们使用的是默认打开模式,不移除不可用节点
解决
- 目前是重启了注册中心,服务已恢复正常
- 告诫组员,不要连线上的注册中心,自己本地调试可以本地启动,或者测试环境。使用完后,要处理下。
- Eureka自我保护机制启用问题,需要修改配置。考虑到生产环境,暂时不启用移除。
Spring cloud报错com.netflix.hystrix.exception.HystrixRuntimeException相关推荐
- com.netflix.hystrix.exception.HystrixRuntimeException总结
com.netflix.hystrix.exception.HystrixRuntimeException: PolicyFeignClient#getAgentFriend(List) failed ...
- com.netflix.hystrix.exception.HystrixRuntimeException
com.netflix.hystrix.exception.HystrixRuntimeException 关于Hystrix因超时导致的熔断,主要检查hystrix和ribbon两项配置 hystr ...
- com.netflix.hystrix.exception.HystrixRuntimeException short-circuited and no fallback available
hystrix 熔断机制 去测试下你的feign接口是否能调通,, 服务是否启动好了 ---- 在找了一大堆可能出现问题的地方之后,包括改线程池大小,熔断max大小,之类的,最终发现这个feign有问 ...
- com.netflix.hystrix.exception.HystrixRuntimeException: 类名#方法名(String,String) failed错误引起的一连串思考
这个错误是在看网上的视频资料学习时产生的,本来以为只是简单的远程调用方法错误,在找错误的过程中发现了不只是这个错误 首先 对于该错误本身是因为远程调用出错,我在认真检查了代码之后发现远程调用代码并没有 ...
- 解决Spring Boot报错Mapped Statements collection already contains value for...Error while adding the mapp
解决Spring Boot报错Mapped Statements collection already contains value for...Error while adding the mapp ...
- Spring aop报错:com.sun.proxy.$Proxyxxx cannot be cast to yyy
在使用Spring AOP时,遇到如下的错误: Exception in thread "main" java.lang.ClassCastException: com.sun.p ...
- spring运行报错--org.xml.sax.SAXParseException; lineNumber: 6; columnNumber: 73; cvc-elt.1: 找不到元素 bean的声明
关于spring运行报错 org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 6 in XML do ...
- JUnit报错:Java.lang.Exception: No runnable methods解决方案
JUnit报错:Java.lang.Exception: No runnable methods解决方案 参考文章: (1)JUnit报错:Java.lang.Exception: No runnab ...
- Spring data报错:Inferred type 'S' for type parameter 'S' is not within its bound;
Spring data报错:Inferred type 'S' for type parameter 'S' is not within its bound; 参照 org.springframewo ...
最新文章
- Android知识点小结
- python可以从事什么工作-学Python能干什么工作?工作前景怎么样?
- Zabbix-3.0.3实现微信(WeChat)告警
- android 手机命令大全,adb 命令大全
- yarn client 提交任务
- Mysql生成连续时间段记录
- 数据分析——朴素贝叶斯原理示意图
- Qt Windows 下软件 release 发布
- python列表添加对象_python list append命令 添加对象
- 简单的linux下docker的下载与安装
- 龙格库塔格式的计算精度推导
- 看清我辈基本盘!罗振宇2020跨年演讲全文来了(未删减)
- 谷歌浏览器快捷键_一览表【Mac】
- 【论文阅读】APdrawing GAN (CVPR19)
- Linux 之旅 21:编译安装软件
- P1413 坚果保龄球洛谷c++题解
- 教你如何复制别人的QQ空间为自己用
- -XX:+PrintHeapAtGC参数使用了解
- 苹果计算机如何出现关机界面,电脑关机.教您苹果电脑怎么关机
- React Native桥接器初探