分布式限流

最近更新时间:2023-08-23 16:21:53

我的收藏

操作场景

本文针对用户接入微服务引擎托管的 PolarisMesh 治理中心希望使用北极星分布式限流能力。

为何需要用户手动创建

用户接入方式存在多 VPC、公网接入两类场景。不同的接入侧用户需要看到不同的服务端 IP,无法自动创建相关北极星系统服务。

前提条件

已创建 PolarisMesh 服务治理中心,请参见 创建 PolarisMesh 治理中心

操作步骤

1. 登录 TSE 控制台
2. 治理中心下的 polarismesh 页面,单击页面左上方下拉列表,选择目标地域。
3. 单击目标引擎的“ID”,进入基本信息页面。
4. 根据实例信息的控制台。

引擎实例未开启客户端公网访问

创建 polaris.limiter
1. 在实例的基本信息页面中,记住访问地址中的每个 VPC 内网 IP 地址以及访问端口。
2. 针对每一个内网 VPC 的 IP 地址,在命名空间 Polaris 下创建服务 polaris.limiter-{vpc 名称}



3. 单击服务 polaris.limiter-{vpc 名称},进入到服务的实例页面,根据对应上述第一步所记录的 VPC 内网 IP 地址以及端口协议 grpc 创建实例。



4. 按照上述步骤的操作,最终服务 polaris.limiter-{vpc 名称} 的实例列表如下:


注意:
如果只是单 VPC 接入的场景,则无需参考 polaris.limiter-{vpc 名称} 这种命名规则,直接使用 polaris.limiter 即可。
polaris-java 接入相关配置文件说明
polaris.yaml 中按照下面示例进行配置二次寻址:
global:
serverConnector:
addresses:
- '{对应 vpc 的内网接入地址}:8091'
provider:
rateLimit:
enable: true
limiterNamespace: Polaris
limiterService: 'polaris.limiter-{vpc 名称}'
spring-cloud-tencent 接入相关配置文件说明
修改 bootstrap.yaml 或者 bootstrap.properties 文件:
spring:
cloud:
polaris:
address: "{对应 vpc 的内网接入地址}:8091"
resources 下创建 polaris.yml 文件。
按照下面示例进行配置二次寻址:
provider:
rateLimit:
enable: true
limiterNamespace: Polaris
limiterService: 'polaris.limiter-{vpc 名称}'

引擎实例开启客户端公网访问

创建 polaris.limiter 服务
1. 在实例的基本信息页面中,记住访问地址中的公网 IP 地址以及访问端口。
2. 在命名空间 Polaris下创建服务 polaris.limiter。
3. 单击服务 polaris.limiter,进入到服务的实例页面,根据客户端公网访问 IP 地址以及端口协议 grpc 分别创建实例。



4. 按照上述步骤的操作,最终服务 polaris.limiter 的实例列表如下:


polaris-java 接入相关配置文件说明
polaris.yaml 中按照下面示例进行配置二次寻址:
global:
serverConnector:
addresses:
- '{对应公网接入地址}:8091'
provider:
rateLimit:
enable: true
limiterNamespace: Polaris
limiterService: polaris.limiter
spring-cloud-tencent 接入相关配置文件说明
修改 bootstrap.yaml 或者 bootstrap.properties 文件。
spring:
cloud:
polaris:
address: '{对应公网接入地址}:8091'
resources 下创建 polaris.yml 文件。
按照下面示例进行配置二次寻址:
provider:
rateLimit:
enable: true
limiterNamespace: Polaris
limiterService: polaris.limiter