> 백엔드 개발 > 파이썬 튜토리얼 > Python의 RabbitMQ 연산 그래픽 코드에 대한 자세한 설명

Python의 RabbitMQ 연산 그래픽 코드에 대한 자세한 설명

黄舟
풀어 주다: 2017-05-07 10:47:01
원래의
1472명이 탐색했습니다.


지식 준비

RabbitMQ

RabbitMQ는 AMQP를 기반으로 하는 완전하고 재사용 가능한 기업 메시징 시스템입니다.

MQ

MQ는 Message Queue의 약자로 MQ(Message Queuing)는 애플리케이션 간 통신 방법입니다.
Python의 RabbitMQ 연산 그래픽 코드에 대한 자세한 설명
메시지 대기열은 게시-구독 모델을 사용하여 작동합니다. 메시지 송신자는 메시지를 처리한 후 분산 메시지 대기열로 메시지를 보냅니다. 메시지 수신자는 분산 메시지 대기열에서 메시지를 가져와서 처리를 계속합니다. 메시지 발신자와 메시지 수신자 사이에는 직접적인 결합이 없음을 알 수 있습니다. 메시지 발신자는 분산 메시지 큐에 메시지를 보낼 때 메시지 처리를 종료하지만 메시지 수신자는 분산 메시지 큐에서 메시지만 가져오면 됩니다. 메시지 대기열. 메시지가 어디서 왔는지 알지 못한 채 처리 중입니다.
메시지 큐 통신을 통해 서비스 핑거 A와 B 사이의 낮은 결합도를 유지하여 유연한 비즈니스 확장을 실현합니다.

pika

pika는 RabbitMQ 팀이 작성한 공식 Python AMQP 라이브러리입니다.

설치 시작

$ brew install rabbitmq$ usr/local/sbin/rabbitmq-server
로그인 후 복사

pika 설치

pip install pika
로그인 후 복사

작업 예시

Hello World

sender

# 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()
로그인 후 복사

receiver

# 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿