我是靠谱客的博主 轻松手链,这篇文章主要介绍记录一次模拟hystrix服务降级时,线程睡眠导致的子线程中断错误,现在分享给大家,希望可以做个参考。

为模拟hystrix的服务降级,我创建了客户端和服务端微服务模拟。

在服务端中,我使用线程睡眠模拟高并发请求造成的线程拥挤,并创建了fallback method作为服务降级时返回的方法。

然后在客户端使用feign标注接口,在controller调用该方法。

结果,服务端因为线程睡眠, 造成主线程结束,而子线程还在睡眠,所以报了sleep interapter错误

客户端因为服务端未返回数据报了超时错误。

解决方法:Thread.sleep()不能在异步方法中使用 ,使用Thread.currentThread().wait()替代。

最后,客户端正常接收fallback method返回的字符串。 

最后

以上就是轻松手链最近收集整理的关于记录一次模拟hystrix服务降级时,线程睡眠导致的子线程中断错误的全部内容,更多相关记录一次模拟hystrix服务降级时,线程睡眠导致内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部