spring-boot - kubernetes NGINX - 限速公式
问题描述
我正在使用 Kubernetes + NGINX 来部署应用程序的 Web 和应用层。对于 Web 层,Kubernetes 有 1 个副本集和 2 个 Pod。我有基于 IP 地址和 ngx_throttling rate_limit 的速率限制配置为'100/sec'和突发限制为'30/sec'。
使用 JMeter(来自单个 IP)部署服务后,提交 2000 API reqs/sec 以测试速率限制配置。
实际结果: Web 层对大约 1006 个请求返回成功响应,然后返回状态码 429(请求过多)
预期结果:
我希望 Web 层根据以下公式返回成功响应(参考此处)。成功响应 = (period * rate + burst) * number of PODs
= (1sec * 100 + 30) * 2 = 130 * 2 = 260 reqs/sec
这是(period * rate + burst) * number of PODs
用 ngx 计算 K8S 中速率限制的正确公式吗?我想了解为什么 web 层接受的请求比预期的要多。
提前致谢!
解决方案
推荐阅读
- sql - 将 SQL CTE 表达式转换为普通子查询
- c - 使用不兼容类型调用的没有原型的函数
- javascript - 如何将 OpenCV 图像分配给 QtWebkit 图像元素?
- c++ - Boost::Spirit 表达式解析器,带有定义的函数
- jquery - jQuery中的toggleClass跳过css规则
- javascript - Vuejs用参数调用其他组件的方法
- python - 分类算法适用于高维数据集?
- amazon-web-services - kops ssh 公钥权限被拒绝
- javascript - p5.js 中的角碰撞角度
- java - Java 9 服务 - 遍历提供者类?