服务网格支持对 SOFA、Dubbo 以及 Spring Cloud 服务进行限流操作。对于流量过载的应用服务,您可以在 服务限流 页面通过添加限流规则,进行服务限流。您也可以根据需要,编辑或删除现有的服务限流规则。
1. 在微服务平台,选择 服务网格 > 服务管控,进入服务列表页。
2. 在服务列表中,选择您想要限流的目标服务,点击其服务 ID,进入服务详情页。
3. 切换至 服务限流 页签,
- 如果所有服务提供者 IP 都未启用服务网格,则无法添加限流规则,需先发布应用并启用服务网格。
- 如果有部分服务提供者 IP 已启用服务网格,或全部已启用服务网格,可直接开始添加限流规则。
说明:对于其余未启用服务网格的部分服务提供者 IP,添加的限流规则对其不生效。
4. 在 添加限流规则 窗口中,配置相应的规则信息。不同的服务类型,需要的规则信息也有所不同。
- 规则名称:限流规则的名称
- 应用:应用名称
- 服务:应用服务名称
- 服务类型:应用服务的类型
- 方法:(SOFA、Dubbo 服务)服务方法名。
- 请求类型:(Spring Cloud 服务)提供 4 种请求类型,包括 GET、POST、PUT 和 DELETE。
- Path:(Spring Cloud 服务)表示 HTTP 协议路径,例如:http:host:port/path 中 path 部分。
- 限流算法:目前仅支持扩展令牌桶算法。关于限流算法的更多信息,参见 限流规则说明 > 令牌桶算法。
- 令牌桶系数:默认为 1。
- 限流阈值
1) 条件模式:目前仅支持 QPS,即根据单位时间内的请求数进行限流。
2)单位时间:打印限流日志的周期。对于单位时间内访问次数的限流条件,也表示统计周期。单位为毫秒(ms)。最小值为 1000 ms。
3) 限流阈值:即 QPS 计数值,单位时间内的请求数。
4) 流量类型:限流的流量类型,目前仅支持所有流量。
5. 点击 提交。
所添加的限流规则,将以列表的形式展示于 服务限流 页面,如下图所示。在列表中,您可以设置限流规则的状态,编辑或删除限流规则。