DAS_2023_1/gusev_vladislav_lab_4/README.md
2023-12-13 15:01:25 +04:00

2.4 KiB
Raw Blame History

Лабораторная работа №4 - Работа с брокером сообщений

Задачи:

Необходимо выбрать предметную область и разработать следующие приложения:

  1. Publisher. Программа, которая создаёт один exchange с типом fanout. Программа должна раз в секунду генерировать сообщения в журнал событий согласно вашей предметной области. Например, событие "пришёл заказ" или "сообщение от пользователя" или "необходимо создать отчёт".
  2. Consumer 1. Программа, которая создаёт под себя отдельную не анонимную (!) очередь (queue) (то есть имя queue НЕ пустая строка), создаёт binding на exchange и начинает принимать сообщения (consume). Программа должна обрабатывать сообщения 2-3 секунды. Можно реализовать через обычный Thread.Sleep (для C#).
  3. Consumer 2. Аналогично Consumer 1, только сообщения необходимо обрабатывать моментально. Только имя очереди должно отличаться от Consumer 1.

Как запустить

Командой "python 'названиеайла'" в текущей папке

Работа программы

publisher: img.png

consumer_2: img_1.png

consumer_1 в одном экземпляре: img_2.png

второй consumer_1: img_3.png

наша первая очередь за 10 минут, на пике зафиксирован запуск второго экземпляра img_4.png

вторая очередь, пик из-за того, что consumer_2 запустился, когда уже были какие-то сообщения в очереди img_5.png

Можно сказать, что запуск второго экземпляра consumer_1 скорости уменьшил нагрузку на очередь.

Видео -> https://drive.google.com/file/d/1JDzdRgUFYzMBYBt0QA5Pho9yvOsu9Ecu/view?usp=sharing