我希望以循环方式在多个服务器之间分配任务,并且每个服务器应该一次处理大多数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个任务?或者这些任务仍然是循环分发的?
答案 0 :(得分:0)
任务将根据工作人员的可用性进行循环传递。
一台服务器可能会说“我可以接收4条消息”并且它将接收4条消息,只剩下1条可供另一台服务器使用。
然而,不能保证它会以这种方式发生,并且不能保证消息将被循环传递,每次向每个服务器发送一条消息。交付标准包括邮件到达,消息和消费者优先级,消费者可用性以及其他因素。
的一些信息