访问限流

什么是访问限流

限流能力是高并发系统中,对于服务提供方的一种保护手段。通过限流功能,我们可以通过控制QPS的方式,以避免被瞬时的流量高峰冲垮,从而保障系统的高可用性。

访问限流主要有如下两个应用场景:

  • 过载保护:保护业务不被突发流量打垮
  • 业务防刷:防止恶意用户发送过多流量影响其他正常用户

北极星为被调端服务提供2种类型的访问限流能力:

单机模式:针对单个被调实例的级别的限流,流量限额只针对当前被调实例生效,不共享。

访问限流 - 图1

全局模式:针对服务下所有实例级别的限流,多个服务实例共享同一个全局流量限额。

访问限流 - 图2

两种限流模式如何选择?

  • 单机限流:一般适用于保护服务自身不被打垮,按照每个服务集群单机的容量来计算配额。
  • 全局限流:一般适用于保护第三方服务或者公共服务(比如保护数据库);或者是在网关层进行限流,对通过网关接入的后端服务进行保护。