rabbitMQ内部有消息预取机制,比如有两个消费队列,共同去消费50条消息,即便这两台机器有差异,也会因为消息预取机制,每台机器去抢25条消息,从而影响整体效率。
要解决可以在配置中限制消息预取的数量,原来默认是没有上限,现在可以限制为1,即每次处理完当前的消息之后再去队列中获取新的消息。
spring: rabbitmq: listener: direct: prefetch: 1 #每次只取一个数据进行处理,原来的消息预期没有上限
rabbitMQ内部有消息预取机制,比如有两个消费队列,共同去消费50条消息,即便这两台机器有差异,也会因为消息预取机制,每台机器去抢25条消息,从而影响整体效率。
要解决可以在配置中限制消息预取的数量,原来默认是没有上限,现在可以限制为1,即每次处理完当前的消息之后再去队列中获取新的消息。
spring: rabbitmq: listener: direct: prefetch: 1 #每次只取一个数据进行处理,原来的消息预期没有上限