gpt4 book ai didi

python-2.7 - 谁能告诉我 python 中 pika 和 kombu 消息传递库之间有什么区别?

转载 作者:行者123 更新时间:2023-12-03 23:25:44 24 4
gpt4 key购买 nike

我想在我的应用程序中使用消息传递库与 rabbitmq 进行交互。谁能解释一下 pika 和 kombu 库之间的区别?

最佳答案

Kombu 和 pika 是两个不同的 python 库,它们基本上服务于相同的目的:向/从消息代理发布和消费消息。

Kombu 比 pika 具有更高的抽象级别。 Pika 仅支持 AMQP 0.9.1 协议(protocol),而 Kombu 可以支持其他传输(例如 Redis)。更一般地说,Kombu 比 pika 功能更丰富。它支持重新连接策略、连接池、故障转移策略等。其中一些功能是必备的(如果您选择在严肃的项目中使用 Pika,则必须重新实现或解决这些功能),而其他一些功能则很好。这样做的缺点是:一个库越复杂,你就越会对它的行为感到惊讶,也就越难推理和跟踪错误。 Pika 的代码库相对较小且易于使用。另一方面,Kombu 是为 Celery 量身定做的。这是一个巨大的工程。 Celery 的文档相当不错,但 Kombu 的文档相比之下就很差了。感觉 Celery 是打算公开的项目,而不是 Kombu。

在后台,当使用 AMQP 作为传输时,Kombu 使用 py-amqp图书馆或 librabbitmq发送/接收/解析 AMQP 0.9.1 帧。在这方面,鼠兔会更接近 py-amqp在抽象级别方面比 Kombu。

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

关于python-2.7 - 谁能告诉我 python 中 pika 和 kombu 消息传递库之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48524536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com