public CompletableFuture<Void> acquire(long bytes) {
        return semaphore.acquire(bytes).toCompletableFuture();
    }
Consume the specified number of bytes and return a CompletableFuture that will be completed when the bytes are consumed.
Note: DO NOT perform any heavy operations in the callback, otherwise it will block thread which calls {@link #release}
s3stream/src/main/java/com/automq/stream/s3/operator/TrafficVolumeLimiter.java