【发布时间】:2019-06-18 16:17:05
【问题描述】:
我有一个任务生产者和多个工作人员来处理这些任务。许多地方推荐rabbitmq和/或celery。然而,python 有一个内置的多处理队列,可以使用管理器/代理在 ip/端口上共享。改用 rabbitmq 之类的东西有什么好处?
【问题讨论】:
标签: rabbitmq message-queue python-multiprocessing
我有一个任务生产者和多个工作人员来处理这些任务。许多地方推荐rabbitmq和/或celery。然而,python 有一个内置的多处理队列,可以使用管理器/代理在 ip/端口上共享。改用 rabbitmq 之类的东西有什么好处?
【问题讨论】:
标签: rabbitmq message-queue python-multiprocessing
RabbitMq 是一种企业级工具,通常单独部署在进程外服务器/VM/容器上,并在企业服务总线空间中发挥作用。
我不是 Python 专家,但根据我对 multiprocessing package 的了解,它充当在工作进程和线程之间分配工作的管理器,因此 IMO 将被视为更本地的系统问题,而不是“企业”级别。 例如您需要handle persistence,即消息不会在崩溃/重启期间丢失,并且可能需要构建您自己的管理和监控工具。
【讨论】: