我最近遇到了rabbitmq,在阅读了一些文档后,我有几个问题可以帮助我了解它的工作原理。
我正在查看work queue model,生产者将消息排入经纪人并且工人将其捡起来,但我不知道如何在现实生活中实施工人,是否有工人生活在服务器实例上,或者服务器实例可以有多个工作者。例如,生产者发送有关需要调整大小的图像的消息,免费服务器实例是否会监听该任务并进行预处理?
答案 0 :(得分:0)
你真的需要踢出轮胎并试一试,以了解更多有关RabbitMQ模型的工作原理。 AMQP是一个相当大的标准,因此您使用它的方式可能有很大差异,那里有很多灵活性。您概述的模型只是可以工作的众多模型之一。
工作人员的工作可以简单到从队列中提取消息并在没有其他通信的情况下执行工作。您可以将多个worker附加到同一队列,以将工作委派给第一个可用的worker。
如果您的工作人员阻止处理,那么您将获得第一个可用的工作人员。如果你的工人没有阻塞,你需要小心率限制它接受的工作数量,或者一个工人可能变得贪婪,并使所有其他工作人员无法工作。
您需要尝试如何执行此操作,因为它根据您正在使用的RabbitMQ库而有很大差异。