我的RabbitMQ集群中有一个请求流,以及处理它们的多个消费者.问题是 - 每个消费者必须出于性能原因批量处理请求.具体来说,有一个网络IO操作,我可以通过批处理请求来分摊.
因此,每个消费者都希望最大化它可以批量处理的请求数量,但不会增加太多的延迟.
当消费者收到第一个请求并继续收集请求时,我可能会启动一个计时器,直到两个事件中的一个发生 - 计时器到期或已收到500个请求.
有没有更好的方法来实现这一目标 - 不会阻止每个消费者?