.. | ||
data | ||
generator | ||
result | ||
worker_1 | ||
worker_2 | ||
docker-compose.yml | ||
README.md |
Лабораторная работа №2 - Разработка простейшего распределённого приложения
Задание
- По выбранному варианту разработать два приложения такие, что результат первого является исходными данными для второго.
- Изучить файлы сборки образов docker и разработать их для созданных приложений.
- Собрать файл docker-compose.yml для запуска приложений.
- Правильно закоммитить результат.
Выбранные варианты задания
-
1-ая программа. Берёт из каталога /var/data случайный файл и перекладывает его в /var/result/data.txt.
-
2-ая программа. Сохраняет произведение первого и последнего числа из файла /var/result/data.txt в /var/result/result.txt.
Дополнительная информация
- Язык разработки приложений - pyton.
- Содержимое исходных файлов - целые числа.
- Каждая программа должна лежать в отдельной подпапке.
Запуск работы программы
Для задания потребуется Docker - платформа для контейнеризации приложений.
В директории создаем файл docker-compose.yaml, чтобы потом можно было собрать и запустить программы всех сервисов:
docker-compose up --build
Эта команда сначала выполнит сборку, а затем запустит контейнеры.
После успешного запуска появится папка data со сгенерированными файлами и папка result, в которой два текстовых файла:
- data.txt - файл, полученный после выполнения первой программы.
- result.txt -файл, полученный после выполнения второй программы.
Описание работы
В лабораторке использовали:
-
Генератор файлов в папке generator. Файл generate_files.py, генерирует случайные файлы с числами и сохраняет их в папке data.
-
Папка с первым приложением. Первое приложение worker.py, случайным образом получает один файл из папки data и копирует его содержимое в result/data.txt.
-
Папка со вторым приложением. Второе приложение worker.py находит произведение первого и последнего чисел из result/data.txt и записывает в result/result.txt.
-
Файл docker-compose.yml.
-
Файл Dockerfile. Прописываем базовый образ для Docker.