← Назад к курсу

Пособие по работе с RabbitMQ

Оглавление

  1. Введение в RabbitMQ
  2. Теоретическая часть
    2.1. Определение и назначение
    2.2. Применение RabbitMQ
    2.3. Преимущества RabbitMQ
  3. Пример проекта
    3.1. Отправка сообщений
    3.2. Получение сообщений
  4. Заключение

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.