spring - 限制 Springboot 服务的上传/出站速度
问题描述
我有一个负责将文件上传到谷歌云存储的微服务。我的问题是我需要放慢速度。目前它将消耗所有可用带宽,这通常很好,但在我的用户案例中却不是。
我已经看到一些关于速率/请求限制的问题,但这不是我所追求的。
我在 SO 或 Google 上找不到太多尝试相同的人,所以我有点不确定从哪里开始。
我应该查看 GCS SDK、Springboot、Tomcat 还是其他东西?我希望我可以设置一个 application.properties 标志。
解决方案
您需要自行实施。查看支持RateLimiter的 Google 的 Guava 库
要限制上传和下载速度,RateLimiter
请为每个实例定义一个实例并将它们包装在您的 API 周围。
final RateLimiter uploadLimiter = RateLimiter.create(5000.0); // rate = 5kb per second
void upload(byte[] packet) {
uploadLimiter.acquire(packet.length);
networkService.send(packet);
}
推荐阅读
- java - 运行 2 个线程和运行 2 个调用相同函数的类之间的区别
- azure-pipelines - Databricks - Azure 数据工厂中的 dbfs:/mnt/ 问题
- javascript - 如何从 Google 控制台订阅中获取价格并在 android 文本视图中显示
- javascript - WebAssembly 中的浏览器安全问题
- javascript - NodeJS Express Async 不处理更多请求
- android - 无法将值附加到数据类中
- javascript - 获取未定义的值。Javascript / React / 映射
- javascript - Vue推入嵌套数组
- mysql - 优化 mysql 中具有连接和联合的查询
- python - 如何在不使用矩阵运算的情况下编写迭代梯度下降?