Hystrix如何防止雪崩

在⼀个⾼度服务化的系统中,我们实现的⼀个业务逻辑通常会依赖多个服务,⽐如:
商品详情展示服务会依赖商品服务, 价格服务, 商品评论服务. 如图所示:

 

 

 

 

 

调⽤三个依赖服务会共享商品详情服务的线程池. 如果其中的商品评论服务不可⽤, 就会出现线程池⾥所有线程都因等待响应⽽被
阻塞, 从⽽造成服务雪崩. 如图所示

 

 

 

Hystrix通过将每个依赖服务分配独⽴的线程池进⾏资源隔离, 从⽽避免服务雪崩.
如下图所示, 当商品评论服务不可⽤时, 即使商品服务独⽴分配的20个线程全部处于同步等待状态,也不会影响其他依赖服务的调⽤.

 

posted @   开源遗迹  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示