目录
缺陷:为什么这里只是 “缓解” 雪崩问题,而不是百分之百解决了雪问题呢?
一、Sentinel
1.1、背景:雪崩问题
雪崩问题,就是指在微服务调用链路中,某个服务出现故障,结果引起整个链路的所有微服务都不可用.
在微服务中,业务往往会比较复杂,一业务服务可能会依赖多个服务. 比如有一个 服务a 内部会依赖 服务b、服务c、服务d. 现在假设 服务d 出现了故障,那么 服务a 依赖于 服务d 的请求还能正常响应吗?显然不能,请求来了以后,就要等待 服务d 的响应,因为 服务d 出现故障了以后不能正常返回响应,因此就会阻塞在这里,导致 服务a 内部的业务阻塞在这里. 也就不会释放 tomcat 连接.

此时,服务a 内部依赖的 服务b 或 c 的业务还可以正常运行,但是如果依赖于 服务d 的请求肯定后续还会有多个,他们都不会释放连接,就导致把 a 内部所有连接都占用了,连接资源也就耗尽了,此时,就导致依赖的 b 和 c 的服务故障了.

订阅专栏 解锁全文
2786

被折叠的 条评论
为什么被折叠?



