为什么要使用rabbitmq或类似于python的内置多处理队列?

为什么要使用rabbitmq或类似于python的内置多处理队列?,rabbitmq,message-queue,python-multiprocessing,Rabbitmq,Message Queue,Python Multiprocessing,我有一个任务生产者和多个工人来执行这些任务。许多地方推荐拉比和/或芹菜。但是python有一个内置的多处理队列,可以使用管理器/代理在ip/端口上共享。使用rabbitmq这样的工具有什么好处?rabbitmq是一种企业级工具,通常单独部署在进程外服务器/VM/容器上,并在企业服务总线空间中发挥作用 Rabbit的目标是可靠的消息传递—例如,消息被持久化,集群中的节点可以在不丢失消息的情况下重新启动 支持大范围的订阅,例如点订阅、扇出订阅和主题订阅 可以通过向群集添加多个节点来缩放卷 允许使用

我有一个任务生产者和多个工人来执行这些任务。许多地方推荐拉比和/或芹菜。但是python有一个内置的多处理队列,可以使用管理器/代理在ip/端口上共享。使用rabbitmq这样的工具有什么好处?

rabbitmq是一种企业级工具,通常单独部署在进程外服务器/VM/容器上,并在企业服务总线空间中发挥作用

  • Rabbit的目标是可靠的消息传递—例如,消息被持久化,集群中的节点可以在不丢失消息的情况下重新启动
  • 支持大范围的订阅,例如点订阅、扇出订阅和主题订阅
  • 可以通过向群集添加多个节点来缩放卷
  • 允许使用路由键或标头筛选器将消息有条件路由到队列
  • 客户端技术不可知,即客户端可以位于支持AMQP协议的任何平台上
  • 具有现成的管理、监视和诊断UI
  • 具有广泛的扩展和工具,例如允许跨多个RabbitMQ集群复制消息
我不是Python专家,但据我所知,它是在工作进程和线程之间分配工作的管理器,所以IMO将被视为更本地的系统关注点,而不是“企业”级别。 e、 g.您需要这样做,即在崩溃/重启期间不会丢失消息,并且可能需要构建自己的管理和监控工具