社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  MQ

为什么要使用rabbitmq或类似的方法而不是python内置的多处理队列?

Simon • 5 年前 • 1820 次点击  

我有一个任务生成器和多个工人来使用这些任务。很多地方都推荐拉比麦和/或芹菜。然而,python有一个内置的多处理队列,可以使用管理器/代理在ip/端口上共享。使用类似rabbitmq的东西有什么好处?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54861
 
1820 次点击  
文章 [ 1 ]  |  最新文章 5 年前
StuartLC
Reply   •   1 楼
StuartLC    6 年前

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

  • Rabbit以可靠的消息传递为目标-例如,消息被持久化,集群中的节点可以重新启动而不会丢失消息。
  • 支持多种 messaging topologies
  • 可以通过向群集添加多个节点来缩放卷
  • 允许使用路由密钥或头筛选器将消息有条件路由到队列
  • 不可知客户端技术,即客户端可以位于支持AMQP协议的任何平台上
  • 有广泛的扩展和工具,例如 shovels 允许跨多个RabbitMQ集群复制消息。

我不是Python专家,但据我所知 multiprocessing package ,它充当在工作进程和线程之间分配工作的管理器,因此IMO将被视为更本地的系统关注点,而不是“企业”级别。 e、 g.你需要 handle persistence ,也就是说,这样消息不会在崩溃/重新启动期间丢失,并且可能需要构建自己的管理和监视工具。