我正在寻找具有内置限制功能的消息队列。用例是收件人工作池可能接受大量消息,但工作者依赖的服务可能无法处理负载。由于工作者实例处理不同类型的消息,因此无法减少工作池。
所以我正在寻找的功能是根据主题进行限制。说一个主题T
,我希望队列接受来自生产者的尽可能多的消息,但是限制消费者对主题T
的需求,说每分钟只发送5封邮件。
答案 0 :(得分:0)
对于Java,以下解决方案可能有效,它们也应该可用于节点
poll()
来限制消息
调用。 尝试在致电poll()
尝试在poll()
中使用更多超时,并使用以下属性
MAX_POLL_RECORDS_CONFIG
控制您将收到多少邮件
收到一次民意调查。
答案 1 :(得分:0)
如果使用IronMQ,则在使用“拉”队列时可以限制消息。此功能需要通过用户代码手动完成。如果要使用“推送”队列,则将无法限制消息。但是,您的消费者将以最高的速率接收消息。这是描述推入和拉入队列的链接:https://dev.iron.io/mq/3/reference/push_queues/index.html
如果您还有其他疑问,请通过chat,电子邮件或电话与Iron.io支持联系。