DAS_2024_1/fadeeva_nastya_lab_2
2024-12-13 00:31:02 +04:00
..
data fadeeva_nastya_lab_2 is ready 2024-12-13 00:31:02 +04:00
generator fadeeva_nastya_lab_2 is ready 2024-12-13 00:31:02 +04:00
result fadeeva_nastya_lab_2 is ready 2024-12-13 00:31:02 +04:00
worker_1 fadeeva_nastya_lab_2 is ready 2024-12-13 00:31:02 +04:00
worker_2 fadeeva_nastya_lab_2 is ready 2024-12-13 00:31:02 +04:00
docker-compose.yml fadeeva_nastya_lab_2 is ready 2024-12-13 00:31:02 +04:00
README.md fadeeva_nastya_lab_2 is ready 2024-12-13 00:31:02 +04:00

Лабораторная работа №2 - Разработка простейшего распределённого приложения

Задание

  • По выбранному варианту разработать два приложения такие, что результат первого является исходными данными для второго.
  • Изучить файлы сборки образов docker и разработать их для созданных приложений.
  • Собрать файл docker-compose.yml для запуска приложений.
  • Правильно закоммитить результат.

Выбранные варианты задания

  1. 1-ая программа. Берёт из каталога /var/data случайный файл и перекладывает его в /var/result/data.txt.

  2. 2-ая программа. Сохраняет произведение первого и последнего числа из файла /var/result/data.txt в /var/result/result.txt.

Дополнительная информация

  • Язык разработки приложений - pyton.
  • Содержимое исходных файлов - целые числа.
  • Каждая программа должна лежать в отдельной подпапке.

Запуск работы программы

Для задания потребуется Docker - платформа для контейнеризации приложений.

В директории создаем файл docker-compose.yaml, чтобы потом можно было собрать и запустить программы всех сервисов:

docker-compose up --build

Эта команда сначала выполнит сборку, а затем запустит контейнеры.

После успешного запуска появится папка data со сгенерированными файлами и папка result, в которой два текстовых файла:

  • data.txt - файл, полученный после выполнения первой программы.
  • result.txt -файл, полученный после выполнения второй программы.

Описание работы

В лабораторке использовали:

  1. Генератор файлов в папке generator. Файл generate_files.py, генерирует случайные файлы с числами и сохраняет их в папке data.

  2. Папка с первым приложением. Первое приложение worker.py, случайным образом получает один файл из папки data и копирует его содержимое в result/data.txt.

  3. Папка со вторым приложением. Второе приложение worker.py находит произведение первого и последнего чисел из result/data.txt и записывает в result/result.txt.

  4. Файл docker-compose.yml.

  5. Файл Dockerfile. Прописываем базовый образ для Docker.

Видеозапись работы программмы

https://vkvideo.ru/video186826232_456239553