← Назад к курсу
Пособие по работе с RabbitMQ
Оглавление
- Введение в RabbitMQ
- Теоретическая часть
2.1. Определение и назначение
2.2. Применение RabbitMQ
2.3. Преимущества RabbitMQ - Пример проекта
3.1. Отправка сообщений
3.2. Получение сообщений - Заключение
1. Введение в RabbitMQ
RabbitMQ — это мощный инструмент для управления очередями сообщений в распределенных системах.
2. Теоретическая часть
2.1. Определение и назначение
RabbitMQ — это брокер сообщений с открытым исходным кодом, который реализует протокол AMQP (Advanced Message Queuing Protocol).
Обеспечивает надежную передачу сообщений между различными компонентами распределенных систем.
2.2. Применение RabbitMQ
- Обработка фоновых задач
- Микросервисная архитектура
- Обработка потоков данных
- Управление очередями задач
2.3. Преимущества RabbitMQ
- Надежность
- Масштабируемость
- Гибкость
- Поддержка различных протоколов
3. Пример проекта
3.1. Отправка сообщений
import pika
# Установка соединения с RabbitMQ
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("[x] Sent 'Hello, RabbitMQ!'")
# Закрытие соединения
connection.close()
3.2. Получение сообщений
import pika
def callback(ch, method, properties, body):
print(f"[x] Received {body}")
# Установка соединения с RabbitMQ
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(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()
4. Заключение
RabbitMQ — это мощный инструмент для управления очередями сообщений, который может быть полезен в различных сценариях, от обработки фоновых задач до управления микросервисами. Пример проекта демонстрирует базовые возможности работы с RabbitMQ в Python.