AMQP实现:Pika
Pika是纯Python编写的AMQP 0-9-1协议的实现,一般用来操作RabbitMQ。AMQP是一个双向RPC(远程进程调用)协议,并且Pika可以在支持AMQP的消息队列上方便的实现RPC。
Pika根据不同的IO循环提供了不同的连接方式。
AsyncioConnection,位于pika.adapters.asyncio_connection包中,用于支持Python 3的Asyncio IO循环的异步连接。BlockingConnection,同步连接。SelectConnection,没有第三方依赖支持的异步连接。TornadoConnection,位于pika.adapters.tornado_connection包中,用于支持Tornado IO循环的异步连接。TwistedProtocolConnection,位于pika.adpaters.twisted_connection包中,用于支持Twisted IO循环的异步连接。
使用Pika操作消息队列,需要构建一个Channel,而Channel是由Connection建立的。Pika构建Channel需要以下几个核心类的辅助。
PlainCredentials,RabbitMQ默认密码认证策略。ConnectionParameters,连接参数对象。URLParameters,URL连接串对象。