BasicQos和Round Robin

时间:2016-11-27 21:34:48

标签: java rabbitmq

我希望以循环方式在多个服务器之间分配任务,并且每个服务器应该一次处理大多数CPU核心任务。

在Java中,预取的任务数量可以这样控制:

(bool)($request->input('clothing_supplied') == 'on') ? $event->update(['clothing_supplied' => 1]) : $event->update(['clothing_supplied' => 0]);

但现在假设我有两台服务器A和B,每台服务器都有相同的设置来预取4个任务。让我们说我在队列中放了5个任务。这是否意味着服务器A将从队列和服务器B 1中消耗4个任务?或者这些任务仍然是循环分发的?

1 个答案:

答案 0 :(得分:0)

任务将根据工作人员的可用性进行循环传递。

一台服务器可能会说“我可以接收4条消息”并且它将接收4条消息,只剩下1条可供另一台服务器使用。

然而,不能保证它会以这种方式发生,并且不能保证消息将被循环传递,每次向每个服务器发送一条消息。

交付标准包括邮件到达,消息和消费者优先级,消费者可用性以及其他因素。

此页面提供了有关主题https://www.rabbitmq.com/consumer-priority.html

的一些信息