rabbitmq 客户端的单独队列是否是只向客户端发送消息的好方法?

uidvcgyl  于 12个月前  发布在  RabbitMQ
关注(0)|答案(1)|浏览(149)

我有一个系统,客户端从队列中拉取任务(通过amqp,使用RabbitMQ作为消息服务器)。当一个新的客户端产生时,他拉一个任务,告诉主服务器他是负责该特定任务的人,并开始执行长时间任务。从服务器端,我希望能够取消这个客户端上的任务,这样他就可以转移到另一个任务,以防任务已经导致错误。
在现有的任务队列上推送取消任务是没有选择的,因为我必须保证它及时到达,甚至到达同一个客户端。
当客户端生成时,客户端设置一个专用的交换机并只为他排队,服务器可以向其发送命令,这是一个好的方法吗?

kmpatx3s

kmpatx3s1#

客户端将不会 * 必须 * 设置一个专用的交换-您可以使用默认的主题交换或设置自己的主题交换。
然后,当客户端拉取一个任务时,它也会创建自己的独占队列,并将该队列绑定到特定的“取消任务X”路由键的主题交换。然后,客户端订阅此队列。如果必须取消任务,“服务器端”可以用适当的路由键向主题交换发布消息。

相关问题