envoy&istio 对接ratelimit 实现限流之ratelimit启动
直接采用官方提供的Docker镜像进行启动
编写docker-compose.yaml 文件
version: "3"
services:
ratelimit:
image: envoyproxy/ratelimit:19f2079f
command: /bin/ratelimit
ports:
- 8080:8080
- 8081:8081
- 6070:6070
volumes:
- ./config:/data/ratelimit/config
environment:
- USE_STATSD=false
- LOG_LEVEL=debug
- REDIS_SOCKET_TYPE=tcp
- REDIS_URL=redis.wangpc:6379
- RUNTIME_ROOT=/data
- RUNTIME_SUBDIRECTORY=ratelimit
- RUNTIME_WATCH_ROOT=false
- CONFIG_TYPE=FILE
这里使用了极简启动,不使用statsd-exporter 进行数据采集,配置文件使用本地文件的方式。
volumes文件挂载,这里将配置文件挂载到/data/ratelimit/config/目录,挂载的路径要跟RUNTIME_* 相关环境变量进行匹配。
CONFIG_TYPE 环境变量指定 配置文件类型,可选值:FILE、GRPC_XDS_SOTW。GRPC_XDS_SOTW类型需要启动一个对应的XDS服务。后续会有示例
需要注意的是,如果CONFIG_TYPE设置为FILE,那么配置文件必须要有,如果没有会启动报错
这里就是用官方给出的一个示例
domain: mongo_cps
descriptors:
- key: database
value: users
rate_limit:
unit: second
requests_per_unit: 500
- key: database
value: default
rate_limit:
unit: second
requests_per_unit: 500
执行 docker-compose up -d && docker-compose logs -f 即可启动服务并查看日志。
下一篇讲envoy对接
浙公网安备 33010602011771号