访问限流
当前支持针对 dubbogo 消息的以下内容进行访问限流:
消息类型 | dubbo消息内容 | 路由规则请求类型 |
---|---|---|
消息头 | attachment | 请求头(HEADER) |
RPC方法 | method | 路径(PATH) |
环境准备
参考 dubbogo 官网文档
dubbogo.yaml 配置文件
在 dubbogo 中启用 Polaris 的 TpsLimiter,具体开启配置参考如下
dubbo:
registries:
polaris-1:
protocol: polaris
address: ${北极星服务端IP}:8091
namespace: ${北极星命名空间信息}
token: ${北极星资源鉴权 token} # 如果北极星服务端开启了针对客户端的鉴权,则需要配置该参数
provider:
services:
UserProvider:
interface: org.apache.dubbo.UserProvider.Test
tps.limiter: polaris-limit # 配置 tps.limiter 为 polaris-limiter 即可
说明:
- Polaris 的访问限流能力是工作在 Provider 侧的。
- 在使用访问限流能力时,需要先启用 Polaris 在 dubbogo 中的注册发现功能。
如何配置服务限流参数
dubbogo 中的 PolarisMesh TpsLimiter 扩展点实现,能够根据用户配置的限流规则,自动的从当前 RPC 调用上下文以及请求信息中识别出需要参与限流的请求标签信息。
比如对 dubbogo 中的 GetUser 方法,对请求参数 Name 为 Alex 的请求进行限流,速率为10/s。
- 请求匹配规则为 请求参数(QUERY)
- 请求匹配规则为 请求头(HEADER):
- 标签来源: RPC 调用的额外标签信息,即 Invoaction.Attachments()
验证
可根据 dubbogo example 开展
- ←上一篇
- 下一篇→