python-3.x - 如何管理分布式系统中的速率限制?
问题描述
这就是我们的容器服务 WebApp 所做的:
- 接收多个pdf文件
- 将它们发送到 Azure OCR 服务(速率限制为每秒 10 个)
- 取回结果,进行一些处理并发回响应
问题:
在整个过程中,我们使用多处理将文件发送到 OCR 服务并接收回文件(在我们的例子中,Azure OCR 是异步的)。有时,当规模达到目标时,我们往往会超过 10 RPS 的限制。
可以做的一件事是,添加延迟。但是,我们用于容器服务的 WebApp 会在加载时自动缩放。
因此,它自动扩展的次数越多,需要的延迟就越高,因为由于服务器实例的增加,点击次数也会增加。
那么,处理这个问题的好方法是什么?
语言:Python
解决方案
推荐阅读
- python - 哈希不可哈希
- cassandra - 迁移网络后如何重新配置所有节点的ip地址
- amazon-web-services - 当环境降级时,用户 aws EventBridge 如何重启实例
- c# - 在哪里以及如何编写这个 SQL 查询?
- mysql - 使用 Dockerfile 在 CentOS 7 上安装 MySQL 失败
- python - “时间戳”类型的参数不可迭代?
- python - 如何让 matplotlib 实际更新到最新版本?
- python - 尝试在 Lambda 函数中运行 ansible - 无法使依赖项达到可接受的上传大小
- javascript - Javascript:在 Reduce 函数中无法理解空初始化器
- r - 循环遍历数据表列并使用 for 循环应用 glm