Architecture 扩展稍微长时间运行的用户工作-RabbitMQ
我正在将RabbitMQ构建到我们的解决方案中,我很好奇如何有效地处理处理和确认消息,同时还在5-10秒的消费者代码中执行“真实”工作。(比以往任何时候都要投入更多的工作) 以上是我打算处理的一个例子。我的Architecture 扩展稍微长时间运行的用户工作-RabbitMQ,architecture,rabbitmq,message-queue,amqp,Architecture,Rabbitmq,Message Queue,Amqp,我正在将RabbitMQ构建到我们的解决方案中,我很好奇如何有效地处理处理和确认消息,同时还在5-10秒的消费者代码中执行“真实”工作。(比以往任何时候都要投入更多的工作) 以上是我打算处理的一个例子。我的twitter.tweet\u cmd\u q队列中的一条消息,该消息包含消息正文中所需的所有参数,供消费者发出实际的twitter API请求,并将这些结果保存到数据库中 然而,我在这里遇到了两个问题: 我一分钟要处理数千条记录——我不可能花5-10秒的时间才能确认这条消息。消费者代码在确
twitter.tweet\u cmd\u q
队列中的一条消息,该消息包含消息正文中所需的所有参数,供消费者发出实际的twitter API请求,并将这些结果保存到数据库中
然而,我在这里遇到了两个问题:
RabbitMQ团队监视并仅有时回答有关StackOverflow的问题
Rob的回答很好,我只想补充一点: 消费者代码在确认信息之前处理所有需要的工作是否“正常”
如果您在处理消息之前确认该消息,并且您的消费者崩溃或没有完成其任务,则该消息将丢失。这是在工作完成后才确认的主要原因。您可以在此处找到相关文档:RabbitMQ团队监视并有时只回答有关StackOverflow的问题
Rob的回答很好,我只想补充一点: 消费者代码在确认信息之前处理所有需要的工作是否“正常”
如果您在处理消息之前确认该消息,并且您的消费者崩溃或没有完成其任务,则该消息将丢失。这是在工作完成后才确认的主要原因。您可以在此处找到相关文档:谢谢,验证后感觉很好。查看RabbitMQ关于“工人队列”的教程,似乎创建更多工人是在这些情况下处理规模的方法。()谢谢你,验证这个感觉很好。查看RabbitMQ关于“工人队列”的教程,似乎创建更多工人是在这些情况下处理规模的方法。()