PythonによるRabbitMQ動作グラフィックコードの詳細説明

黄舟
リリース: 2017-05-07 10:47:01
オリジナル
1456 人が閲覧しました


知識の準備

RabbitMQ

RabbitMQ は、AMQP に基づいた完全な再利用可能なエンタープライズ メッセージング システムです。

MQ

MQ は、メッセージ キュー (MQ) の略で、アプリケーション間の通信方法です。
PythonによるRabbitMQ動作グラフィックコードの詳細説明
メッセージキューはパブリッシュ/サブスクライブモデルを使用して動作します。メッセージ送信者は、メッセージを処理した後、分散メッセージ キューにメッセージを送信し、分散メッセージ キューからメッセージを取得して処理を続行します。メッセージ送信者とメッセージ受信者の間には直接的な結合がないことがわかります。メッセージ送信者は分散メッセージ キューにメッセージを送信するとメッセージの処理を終了しますが、メッセージ受信者は分散メッセージ キューからメッセージを取得するだけで済みます。メッセージキュー。メッセージの送信元が不明なまま処理されます。
メッセージキュー通信により、サービスフィンガーAとサービスフィンガーB間の結合度を低く保ち、柔軟なビジネス展開を実現します。

pika

pika は、RabbitMQ チームによって作成された公式 Python AMQP ライブラリです。

インストール起動

$ brew install rabbitmq$ usr/local/sbin/rabbitmq-server
ログイン後にコピー

pikaのインストール

pip install pika
ログイン後にコピー

動作例

Hello World

送信者

# 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート