我正在寻找一个内置节流功能的消息队列。用例是收件人工作池可以接受很多消息,但是工作池所依赖的服务可能无法处理负载。由于工作线程示例处理不同类型的消息,因此无法减少工作线程池。所以我要找的功能是基于主题的节流。说一个主题 T ,我希望队列接受来自生产者的尽可能多的消息,但限制消费者对主题的需求 T 也就是说每分钟只发送5条信息。
T
gwbalxhn1#
如果您使用的是ironmq,那么如果您使用的是“拉”队列,则可以限制消息。此功能需要从用户代码手动完成。如果使用“推送”队列,则无法限制消息。但是,您的消费者将以最高的速率接收消息。以下是描述推拉队列的链接:https://dev.iron.io/mq/3/reference/push_queues/index.html如果您还有其他问题,请通过聊天、电子邮件或电话联系iron.io支持。
bwntbbo32#
对于java,以下解决方案可能有效,它们也应该可用于node您可以通过控制消费者的 poll() 电话。尝试在调用 poll() 尝试在中使用更多超时 poll() 并使用以下属性 MAX_POLL_RECORDS_CONFIG 控制要发送的消息数在一次投票中接收。
poll()
MAX_POLL_RECORDS_CONFIG
2条答案
按热度按时间gwbalxhn1#
如果您使用的是ironmq,那么如果您使用的是“拉”队列,则可以限制消息。此功能需要从用户代码手动完成。如果使用“推送”队列,则无法限制消息。但是,您的消费者将以最高的速率接收消息。以下是描述推拉队列的链接:https://dev.iron.io/mq/3/reference/push_queues/index.html
如果您还有其他问题,请通过聊天、电子邮件或电话联系iron.io支持。
bwntbbo32#
对于java,以下解决方案可能有效,它们也应该可用于node
您可以通过控制消费者的
poll()
电话。尝试在调用
poll()
尝试在中使用更多超时poll()
并使用以下属性MAX_POLL_RECORDS_CONFIG
控制要发送的消息数在一次投票中接收。