Ruby on rails RabbitMQ订阅限制要预取的消息数
我使用rabbitmq在用RubyonRails编写的微服务之间进行通信。每个服务订阅一个主题。所有服务都可以根据需要扩展并作为多个实例运行 在订阅期间,bunny将队列中的所有消息移动到未确认状态。这使得其他缩放实例处于空闲状态,因为没有处于就绪状态的消息Ruby on rails RabbitMQ订阅限制要预取的消息数,ruby-on-rails,ruby,rabbitmq,bunny,Ruby On Rails,Ruby,Rabbitmq,Bunny,我使用rabbitmq在用RubyonRails编写的微服务之间进行通信。每个服务订阅一个主题。所有服务都可以根据需要扩展并作为多个实例运行 在订阅期间,bunny将队列中的所有消息移动到未确认状态。这使得其他缩放实例处于空闲状态,因为没有处于就绪状态的消息 是否有办法限制订阅可以获取的消息数量,以便其他实例可以从队列中获取剩余消息。根据您提供的信息,我假设您正在使用。如果这一假设不正确,那么rabbitmq还可以使用其他ruby客户端,请告诉我和/或查看与您的客户端相关的文档 回到rubybu
是否有办法限制订阅可以获取的消息数量,以便其他实例可以从队列中获取剩余消息。根据您提供的信息,我假设您正在使用。如果这一假设不正确,那么rabbitmq还可以使用其他ruby客户端,请告诉我和/或查看与您的客户端相关的文档 回到rubybunny,link提供了指向必要信息的点,并引用了它: 对于多个使用者共享一个队列的情况,使用 能够指定每个消费者一次可以发送多少条消息 在发送下一个确认之前 在AMQP 0.9.1中,这称为QoS或消息预取。 预取是基于每个通道配置的。 要配置预取,请使用Bunny::Channelprefetch方法,如下所示:
搞定了。谢谢我一直在找这个。
ch1 = connection1.create_channel
ch1.prefetch(10)