RabbitMQ は、AMQP に基づいた完全な再利用可能なエンタープライズ メッセージング システムです。
MQ は、メッセージ キュー (MQ) の略で、アプリケーション間の通信方法です。
メッセージキューはパブリッシュ/サブスクライブモデルを使用して動作します。メッセージ送信者は、メッセージを処理した後、分散メッセージ キューにメッセージを送信し、分散メッセージ キューからメッセージを取得して処理を続行します。メッセージ送信者とメッセージ受信者の間には直接的な結合がないことがわかります。メッセージ送信者は分散メッセージ キューにメッセージを送信するとメッセージの処理を終了しますが、メッセージ受信者は分散メッセージ キューからメッセージを取得するだけで済みます。メッセージキュー。メッセージの送信元が不明なまま処理されます。
メッセージキュー通信により、サービスフィンガーAとサービスフィンガーB間の結合度を低く保ち、柔軟なビジネス展開を実現します。
pika は、RabbitMQ チームによって作成された公式 Python AMQP ライブラリです。
$ brew install rabbitmq$ usr/local/sbin/rabbitmq-server
pikaのインストール
pip install pika
# coding: utf-8import pika connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() channel.queue_declare(queue='hello') channel.basic_publish(exchange='', routing_key='hello', body='Hello, World!')print 'send msg: Hello World!'connection.close()
# coding: utf-8import pika connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() channel.queue_declare(queue='hello')def callback(ch, method, properties, body): print 'receive msg: %s' % body channel.basic_consume(callback, queue='hello', no_ack=False)print 'waiting for msg...'channel.start_consuming()
実行結果:
# sender.py 运行2次send msg: Hello World!# receiverwaiting for msg... receive msg: Hello, World! receive msg: Hello, World!
コンシューマはメッセージを処理した後、終了せず、引き続き後続の処理を行うことができますメッセージ。
以上がPythonによるRabbitMQ動作グラフィックコードの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。