Skip to content

限流——Sentinel

更新: 3/22/2025 字数: 0 字 时长: 0 分钟

当大量的请求打到我们的服务上(秒杀活动/恶意攻击)时,我们应该如何处理?

对于单体项目,我们只需要设计一个算法,然后对接口进行一个统一的处理即可(Filter),这里我们常用的是令牌桶算法,具体实现可以参考Google-Guava-RateLimiter

而在微服务层面,由于我们的接口被拆分到了不同的服务中,因此我们无法对一个用户在整个项目(的接口)层面进行一个监控,也很难对一些顺序访问的接口做出限流操作,这时就需要一个中间层来帮我们完成整体监控这个事情

同样的,SpringCloudAlibaba在这种情境下也为我们提供了一种解决方案——Sentinel

Why Sentinel?

在高并发的场景下,大量的流量打到我们的服务器很有可能将我们的服务器打垮,我么必须对流量进行控制,使其在我们允许的情况下运行

Sentinel通过对请求的并发量与响应时间进行限制进而完成了对流量的控制,在某台机器性能达到瓶颈时,将本应该由该机器承担的业务转发到另一台机器上,进而保持了对整体服务的性能达到最大限度

本站访客数 人次      本站总访问量