我有一个微服务,负责将文件上传到Google Cloud Storage。我的问题是我需要放慢速度。目前,它将消耗所有可用带宽,通常这是很大的,但是在我的用户情况下不会。
我已经看到有关速率/请求限制的一些问题,但这不是我要解决的问题。
我在SO或Google上找不到很多尝试这样做的人,所以我不确定从哪里开始。
我应该查看GCS SDK,Springboot,Tomcat还是其他产品?我希望可以设置一个application.properties标志。
答案 0 :(得分:1)
您需要自己实施。 看一下支持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);
}