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连接串对象。