SeouliteLab

Python에서 AMQP 프로토콜 사용하기 본문

프로그래밍

Python에서 AMQP 프로토콜 사용하기

Seoulite Lab 2024. 4. 9. 10:49

예제 1: RabbitMQ와 연결하여 메시지 전송하기

import pika

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

channel.queue_declare(queue='hello')

channel.basic_publish(exchange='', routing_key='hello', body='Hello, RabbitMQ!')
print("메시지 전송: 'Hello, RabbitMQ!'")
connection.close()

위 예제는 RabbitMQ와 연결하고, 'hello'라는 큐에 메시지를 전송하는 코드를 보여줍니다.

예제 2: RabbitMQ로부터 메시지 받기

import pika

def callback(ch, method, properties, body):
    print("받은 메시지:", body)

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

channel.queue_declare(queue='hello')

channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True)

print('메시지 대기중...')
channel.start_consuming()

위 예제는 'hello' 큐에서 메시지를 받고 출력하는 코드를 보여줍니다.

예제 3: Exchange와 함께 메시지 전송하기

import pika

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

channel.exchange_declare(exchange='logs', exchange_type='fanout')

message = "Hello, RabbitMQ!"

channel.basic_publish(exchange='logs', routing_key='', body=message)
print("메시지 전송:", message)

connection.close()

이 예제는 팬아웃(exchange 타입)으로 메시지를 전송하는 방법을 보여줍니다.

Python에서 AMQP(Advanced Message Queuing Protocol)을 사용하여 메시지 큐 시스템을 구축할 수 있습니다. RabbitMQ는 AMQP 프로토콜을 따르는 대표적인 메시지 브로커 중 하나이며, Python에서 RabbitMQ와 통신하기 위해 pika 라이브러리를 사용할 수 있습니다. 메시지 큐를 통해 애플리케이션 간에 비동기적으로 데이터를 교환할 수 있어서 시스템의 유연성을 향상시킬 수 있습니다. (Python, AMQP)