Python 2.7 有人能告诉我python中pika和kombu消息传递库之间的区别吗?

Python 2.7 有人能告诉我python中pika和kombu消息传递库之间的区别吗?,python-2.7,rabbitmq,amqp,pika,kombu,Python 2.7,Rabbitmq,Amqp,Pika,Kombu,我想在应用程序中使用消息传递库与rabbitmq交互。有人能解释一下pika和kombu图书馆的区别吗 Kombu和pika是两个不同的python库,它们基本上服务于相同的目的:在消息代理之间发布和使用消息 Kombu比pika具有更高的抽象级别。Pika只支持AMQP 0.9.1协议,而Kombu可以支持其他传输(如Redis)。更一般地说,Kombu比pika功能更丰富。它支持重新连接策略、连接池、故障切换策略等。其中一些功能是必须具备的(如果您选择在一个严肃的项目中使用Pika,您将不得

我想在应用程序中使用消息传递库与rabbitmq交互。有人能解释一下pika和kombu图书馆的区别吗

Kombu和pika是两个不同的python库,它们基本上服务于相同的目的:在消息代理之间发布和使用消息

Kombu比pika具有更高的抽象级别。Pika只支持AMQP 0.9.1协议,而Kombu可以支持其他传输(如Redis)。更一般地说,Kombu比pika功能更丰富。它支持重新连接策略、连接池、故障切换策略等。其中一些功能是必须具备的(如果您选择在一个严肃的项目中使用Pika,您将不得不重新实现或解决这些功能),其他一些功能非常好。这样做的缺点是:库越复杂,您越会对它的行为感到惊讶,也越难对bug进行推理和跟踪。皮卡的代码库相对较小,很容易进入。另一方面,Kombu是为这一庞大项目量身定做的。芹菜的文档相当好,但相比之下,Kombu的文档相当差。感觉芹菜是要暴露的项目,而不是Kombu

在引擎盖下,当使用AMQP作为传输时,Kombu使用库或发送/接收/解析AMQP 0.9.1帧。在这方面,就抽象级别而言,pika将比Kombu更接近于
py amqp

RabbitMQ是复杂的。如果您认为不应该为已经封装好的功能增加复杂性,或者需要对RabbitMQ进行更多的控制和理解,请选择pika。如果您需要一个交钥匙解决方案,并且不想重新发明轮子,请选择Kombu(即重新实现一些基本功能,这些功能在大多数情况下都值得几行代码)。但无论您选择什么库,它都不应该让您无法深入了解底层代理的优势和局限性