.. | ||
lesson1-hello-world | ||
lesson2-work-queues | ||
lesson3-publish-subscribe | ||
README.md | ||
result2.jpg | ||
result3.jpg | ||
result.jpg |
Лабораторная работа №4 - Работа с брокером сообщений
Задание
- Установить брокер сообщений RabbitMQ.
- Пройти уроки 1, 2 и 3 из RabbitMQ Tutorials, используя Python.
- Продемонстрировать работу брокера сообщений.
Работа программы
Программа демонстрирует работу с брокером сообщений RabbitMQ, включая следующие этапы:
-
Урок 1: Hello World
- Программа демонстрирует базовый обмен сообщениями между продюсером и потребителем через очередь.
-
Урок 2: Work Queues
- Реализована система, где сообщения из одной очереди обрабатываются несколькими потребителями.
- Обеспечивается балансировка нагрузки между потребителями.
-
Урок 3: Publish/Subscribe
- Используется exchange типа
fanout
для широковещательной рассылки сообщений. - Сообщения из одного источника доставляются сразу нескольким потребителям.
- Используется exchange типа
Описание классов
-
emit_log.py
:- Отправляет сообщения в exchange
logs
. - Использует тип exchange
fanout
для широковещательной передачи сообщений.
- Отправляет сообщения в exchange
-
receive_logs.py
:- Получает и обрабатывает сообщения, отправленные через exchange
logs
. - Каждое подключение создаёт временную очередь для получения сообщений.
- Получает и обрабатывает сообщения, отправленные через exchange
Работа приложения
-
Логгирование:
- Программа записывает логи в файл, используя один из потребителей.
-
Отображение сообщений на экране:
- Сообщения выводятся в терминале через другого потребителя.
Примеры использования
Запуск продюсера
python emit_log.py "Ваше сообщение"
Запуск потребителя
Для отображения сообщений в терминале:
python receive_logs.py
Для записи сообщений в файл:
python receive_logs.py > logs_from_rabbit.log
Уроки
Lesson 1: "Hello World"
Lesson 2: "Work Queues"
Lesson 3: "Publish/Subscribe"
Как установить RabbitMQ
docker run -d --hostname rabbitmq --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management
Видео демонстрации
Демонстрацию работы программы можно посмотреть по ссылке: Ссылка на видео