适合AMQP的优秀Python库
你能推荐一个用来访问AMQP(RabbitMQ)的Python库吗?根据我的调查,pika
似乎是大家比较喜欢的选择。
4 个回答
3
看了这么多库之后,我现在相信,正确的选择其实是都不要用。相反,应该在你选择的任何库上建立一个抽象层,这样可以避免将来不得不更换库的麻烦。
不过要记住,如果你使用的是相同版本的AMQP协议,这些库之间是可以互相配合的。因为不同的库经过测试,我们的一个原型应用程序中同时运行了pika、kombu和py-amqplib。
可以看看这篇关于 用pika替换amqplib 的博客,了解一下为什么这样做是个好主意。
22
Pika是RabbitMQ推荐的库,另外还有一个叫py-amqplib的库也被提到。根据你使用RabbitMQ的目的,你可能还想看看Celery(这是一个专门用于分布式排队的客户端库)。
同样,根据你的使用情况,你也可以考虑Apache的qpid,这是一个基于AMPQ的完整客户端-服务器替代方案,和RabbitMQ类似。我们之所以对qpid感兴趣,是因为它在服务器崩溃时似乎更稳定(队列以分布式的方式持久化)。