Detaillierte Erläuterung des RabbitMQ-Betriebsgrafikcodes in Python

黄舟
Freigeben: 2017-05-07 10:47:01
Original
1456 Leute haben es durchsucht


Wissensvorbereitung

RabbitMQ

RabbitMQ ist ein vollständiges, wiederverwendbares Enterprise-Messaging-System auf Basis von AMQP.

MQ

MQ steht für Message Queuing (MQ) und ist eine Kommunikationsmethode zwischen Anwendungen.
Detaillierte Erläuterung des RabbitMQ-Betriebsgrafikcodes in Python
Die Nachrichtenwarteschlange funktioniert mit dem Publish-Subscribe-Modell. Der Nachrichtensender ist die Nachrichtenquelle. Nach der Verarbeitung wird die Nachricht an die verteilte Nachrichtenwarteschlange gesendet. Der Nachrichtenempfänger ruft die Nachricht aus der verteilten Nachrichtenwarteschlange ab und setzt die Verarbeitung fort. Es ist ersichtlich, dass zwischen dem Nachrichtensender und dem Nachrichtenempfänger keine direkte Kopplung besteht. Der Nachrichtensender beendet die Verarbeitung der Nachricht, wenn er die Nachricht an die verteilte Nachrichtenwarteschlange sendet, während der Nachrichtenempfänger die Nachricht nur von der verteilten Nachrichtenwarteschlange abrufen muss Nachrichtenwarteschlange verarbeitet, ohne zu wissen, woher die Nachricht stammt.
Durch die Nachrichtenwarteschlangenkommunikation wird eine geringe Kopplung zwischen den Servicefingern A und B aufrechterhalten, um eine flexible Geschäftserweiterung zu erreichen.

pika

pika ist die offizielle Python-AMQP-Bibliothek, die vom RabbitMQ-Team geschrieben wurde.

Installation beginnt

$ brew install rabbitmq$ usr/local/sbin/rabbitmq-server
Nach dem Login kopieren

Pika installieren

pip install pika
Nach dem Login kopieren

Bedienungsbeispiel

Hallo Welt

Absender

# 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()
Nach dem Login kopieren

Empfänger

# 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()
Nach dem Login kopieren

Betriebsergebnisse:

# sender.py 运行2次send msg: Hello World!# receiverwaiting for msg...
receive msg: Hello, World!
receive msg: Hello, World!
Nach dem Login kopieren

Nachdem der Verbraucher die Nachricht verarbeitet hat, wird er nicht beendet und kann weiterhin nachfolgende Nachrichten verarbeiten.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des RabbitMQ-Betriebsgrafikcodes in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage