DAS_2024_1/rogashova_ekaterina_lab_4/readme.md
2024-11-15 11:50:03 +04:00

49 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Лабораторная работа №4
## Описание
Задание 1 из туториала: ![task1.jpg](results/task1.jpg)
Задание 2 из туториала: ![task2.jpg](results/task2.jpg)
Задание 3 из туториала: ![task3.jpg](results/task3.jpg)
Также были созданы файлы Consumer1, Consumer2 и Publisher для обработки событий в сфере онлайн-магазина
Publisher:
• Создает обменник типа fanout с именем online_store_events.
• Каждую секунду генерирует сообщения в формате JSON, описывающие различные события в магазине.
• Отправляет сообщения в обменник.
Consumer 1:
• Создает очередь с именем order_processing_queue.
• Создает привязку к обменнику online_store_events.
• Принимает сообщения из очереди.
• Обрабатывает сообщения, симулируя обработку заказа (использует time.sleep(2)).
• Выводит в консоль информацию о полученном сообщении.
Consumer 2:
• Создает очередь с именем product_recommendation_queue.
• Создает привязку к обменнику online_store_events.
• Принимает сообщения из очереди.
• Обрабатывает сообщения мгновенно, симулируя создание рекомендаций (использует print(f"Обработка рекомендации: {message}")).
• Выводит в консоль информацию о полученном сообщении.
## Вывод работы
Для того, чтобы сделать вывод, необходимо подождать некоторое время, тогда можно будет увидеть, что количество сообщений в order_processing_queue будет больше,
чем в product_recommendation_queue, так как во второй очереди происходит мгновенная обработка сообщений.
Если запустить несколько Consumer-1, то количество сообщений в order_processing_queue снизится, так как несколько экземпляров первого consumer будут работать параллельно, и RabbitMQ будет распределять входящие сообщения между ними (это называется "разделение нагрузки").
![Consumer-1.jpg](results/Consumer-1.jpg)
![Consumer-3.jpg](results/Consumer-3.jpg)
## Видео
Работоспособность представлена на [видео](https://vk.com/video204968285_456240928).