envoy&istio 对接ratelimit 实现限流之ratelimit启动
直接采用官方提供的Docker镜像进行启动
编写docker-compose.yaml 文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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,那么配置文件必须要有,如果没有会启动报错
这里就是用官方给出的一个示例
1 2 3 4 5 6 7 8 9 10 11 12 | 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对接
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下