限流分类

1、单机限流

限制每一台broker的流量,如下图所示:

image-20230901201114249

2、全局限流

限制所有broker的流量和,这种方案往往需要一个第三方的平台来统计目前所有Broker的总流量,如下图所示:

image-20230901201158231

对什么限流

主要对流量、连接数、请求数三类资源进行限流。

流量限制指对生产、消费的流量限制。

连接数限制指对客户端连接到服务端的 TCP 连接数量进行限制。因为 TCP 连接的建立和关闭需要消耗 CPU、内存等资源,限制是为了保护服务端不会因为连接数太多,耗尽资源,导致服务不可用,主要从一下三个方面:

  • 服务端单机可承载的最大连接数限制。

  • 客户端单个 IP 可建立的连接数。

  • 单个集群可建立的总链接数。

请求数限制指对单个接口的访问频次进行限制,来保护集群自身的可用性。