其他分享
首页 > 其他分享> > Alibaba微服务组件 - Sentinel(一)

Alibaba微服务组件 - Sentinel(一)

作者:互联网

1. 为什么要使用sentinel

1.1 分布式系统遇到的问题

1.1.1 服务的可用性问题

image

1.1.2 服务的可用性场景

在一个高度服务化的系统中,我们实现的一个业务逻辑通常会依赖多个服务, 如图所示:
image

如果其中的下单服务不可用, 就会出现线程池里所有线程都因等待响应而被阻塞, 从而造成整个服务链路不可用, 进而导
致整个系统的服务雪崩. 如图所示:
image

服务雪崩效应:因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程,就叫服务雪崩效应

1.1.3 导致服务不可用的原因:

image

在服务提供者不可用的时候,会出现大量重试的情况:用户重试、代码逻辑重试,这些重试最终导致:进一步加大请求流量。
所以归根结底导致雪崩效应的最根本原因是:

1.2 解决方案

稳定性、恢复性
image

常见的容错机制:

信号隔离也可以用于限制并发访问,防止阻塞扩散, 与线程隔离最大不同在于执行依赖代码的线程依然是请求线程(该线程需要通过信号申请, 如果客户端是可信的且可以快速返回,可以使用信号隔离替换线程隔离,降低开销。信号量的大小可以动态调整, 线程池大小不可以。

标签:调用,服务,请求,Alibaba,组件,断路器,线程,Sentinel,超时
来源: https://www.cnblogs.com/mask-xiexie/p/16140712.html