Будь ласка, використовуйте цей ідентифікатор, щоб цитувати або посилатися на цей матеріал: http://elartu.tntu.edu.ua/handle/lib/46000
Назва: Файлове хмарне сховище на базі кластера Raspberry PI із застосуванням мікросервісної архітектури
Інші назви: File cloud storage based on a Raspberry PI cluster using a microservice architecture
Автори: Сотник, Андрій Петрович
Sotnyk, Andrii
Приналежність: Тернопільський національний технічний університет імені Івана Пулюя
Ternopil Ivan Puluj National Technical University
Бібліографічний опис: Сотник А. П. Файлове хмарне сховище на базі кластера Raspberry PI із застосуванням мікросервісної архітектури : робота на здобуття кваліфікаційного ступеня бакалавр : спец. 123 — комп’ютерна інженерія / наук. кер. Н. Я. Шингера. Тернопіль : Тернопільський національний технічний університет імені Івана Пулюя, 2024. 71 с.
Дата публікації: 17-чер-2024
Дата подання: 25-чер-2024
Дата внесення: 9-лип-2024
Видавництво: Тернопільський національний технічний університет імені Івана Пулюя
Країна (код): UA
Місце видання, проведення: Тернопільський національний технічний університет імені Івана Пулюя
Науковий керівник: Шингера, Наталія Ярославівна
Shyngera, Nataliia
Члени комітету: Мудрик, Іван Ярославович
Mudryk, Ivan
УДК: 004.63
Теми: файлове хмарне скластерховище
Raspberry PI
мікросервісна архітектура
cloud file storage
cluster
microservices architecture
Кількість сторінок: 71
Короткий огляд (реферат): У результаті виконання роботи було розроблене файлове сховище на базі кластеру Raspberry Pi з використанням мікросервісної архітектури. Основна мета розробки – створення надійної, масштабованої та ефективної системи для зберігання та перегляду файлів, яка може бути легко розширена та модифікована відповідно до змінних вимог. Забезпечення узгодженості даних та надійності комунікації між мікросервісами було вирішено завдяки впровадженню механізмів обробки помилок та повторного виконання запитів, а також використанню брокера повідомлень RabbitMQ для асинхронної обробки завдань. Завдяки використанню ефективних алгоритмів збереження та обробки даних, а також налаштуванню параметрів кластеру, вдалося досягти високих показників продуктивності при мінімальних витратах на обладнання. Результатом виконання роботи стало створення надійної, масштабованої та ефективної системи, яка може бути легко адаптована до змінних вимог та умов експлуатації. Цей підхід відкриває широкі можливості для подальшого розвитку та інтеграції з іншими системами та сервісами, забезпечуючи високу гнучкість та адаптивність.
After completing the qualification work, a microservice application for cloud file storage based on Raspberry Pi was developed. The primary objective of this project was to create a reliable, scalable, and efficient system for storing and manipulating files, designed to be easily extended and modified in response to evolving requirements. Ensuring data consistency and communication reliability between microservices was achieved by implementing error handling mechanisms, retrying requests, and utilizing the RabbitMQ message broker for asynchronous task processing. By employing efficient data storage and processing algorithms, as well as tuning cluster parameters, we achieved high performance metrics with minimal hardware costs. The outcome of the project was the creation of a reliable, scalable, and efficient system that can easily adapt to changing requirements and operational conditions. This approach opens up broad possibilities for further development and integration with other systems and services, ensuring high flexibility and adaptability.
Зміст: З М І С Т Вступ 8 РОЗДІЛ 1 АНАЛІЗ ТЕХНІЧНОГО ЗАВДАННЯ 10 1.1 Аналіз вимог до комп’ютерної системи 10 1.1.1 Огляд мікросервісної структури 10 1.1.2 Огляд концепції кластеру 12 1.1.3 Аналіз вимог 13 1.2 Аналіз можливих рішень поставленого завдання 15 РОЗДІЛ 2 ПРОЕКТНА ЧАСТИНА 19 2.1 Розробка загальної структури системи 19 2.2 Обгрунтування вибору апаратного забезпечення 22 2.3 Обгрунтування вибору програмного забезпечення 23 2.4 Проектування програмної системи 28 2.4.1 Модель варіантів використання хмарного сховища 28 2.4.2 проектування клієнтського додатку 30 2.4.3 Визначення зв’язків та засобів комунікації між мікросервісами 32 РОЗДІЛ 3 ПРАКТИЧНА ЧАСТИНА 41 3.1 Моделювання апаратної частини 41 3.2 Розробка програмного забезпечення 44 3.2.1 Розробка сервісу користувачів 44 3.2.2 Розробка мікросервісу керування файлами 48 3.2.3 Розробка АРІ-шлюзу 51 3.2.4 Розробка сервісу логування 53 3.2.5 Розробка сервісу Email 54 3.2.6 Розробка клієнтської частини 54 3.3 Тестування 58 РОЗДІЛ 4 БЕЗПЕКА ЖИТТЄДІЯЛЬНОСТІ ТА ОХОРОНА ПРАЦІ 61 4.1 Природне середовище та його забруднення 61 4.2 Правила безпеки при роботі на персональному комп’ютері 64 ВИСНОВКИ 69 СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 71 Додаток А. Технічне завдання 72
URI (Уніфікований ідентифікатор ресурсу): http://elartu.tntu.edu.ua/handle/lib/46000
Власник авторського права: © Сотник Андрій Петрович, 2024
© Sotnyk Andrii, 2024
Перелік літератури: Осухівська Г.М., Тиш Є.В., Луцик Н.С., Паламар А.М. Харченко О., Яцишин В. Розробка та керування вимогами до програмного забезпечення на основі моделі якості. Вісник ТДТУ. Тернопіль, 2099. Т.14. №1. С.201-207.Методичні вказівки до виконання кваліфікаційних робіт здобувачів першого (бакалаврського) рівня вищої освіти спеціальності 123 «Комп’ютерна інженерія” усіх форм навчання. Тернопіль, ТНТУ, 2022. 28 с.
Yatsyshyn V., Pastukh O., Pflfmfr A., Zharovsryy R. Technology of relational database management system performance evalution during computer systems design. Scientific Jornal of TNTU, Ternopil, Ukraine, 2023. Vol.109, No 1. P. 54-56.
Raspberry Pi Computer Boards. URL: https://www.okdo.com/c/pi-shop/theraspberry-pi/ (дата звернення 15.05.2022 р.).
Жидецький В.Ц. Охорона праці користувачів комп’ютерів. Львів : Афіша. 2000. 176 с.
Building Microservices: Designing Fine-Grained Systems 1st Edition, Sam Newman, 280, 2015, O'Reilly.
Елізабет Робсон. Head First. Програмування на JavaScript/ Елізабет Робсон, Ерік Фрімен. 2022. 672 c.
Code Complete (Developer Best Practices) 2nd Edition, Steve McConnell. 916. 2015.
Мережа розробників Mozilla URL: https://developer.mozilla.org/ (дата звернення 10.06.2024).
Офіційна документація kubernetes URL: https://kubernetes.io /docs/home/ (дата звернення 10.06.2024).
Офіційна документація vlang URL: https://docs.vlang.io/introduction.html (дата звернення 10.06.2024).
Офіційна документація rust-lang URL: https://doc.rust-lang.org/book/ (дата звернення 10.06.2024).
Офіційна документація svelte URL: https://svelte.dev/docs/ (дата звернення 10.06.2024).
Мартін Роберт. Чистий код/ Мартін С.Р. Фабула. 2019. 368 с.
Мартін Роберт. Чиста архітектура/ Мартін С.Р. Фабула. 2019. 368 с.
Бєлов С.В., Ільницька А.В., Казько А.Ф. Безпека життєдіяльності: Підручник для вузів. Вища школа. 2000. 138 с.
НПАОП 0.00-7.15-18 «Про затвердження Вимог щодо безпеки та захисту здоров’я працівників під час роботи з екранними пристроями».
Тип вмісту: Bachelor Thesis
Розташовується у зібраннях:123 — Комп’ютерна інженерія (бакалаври)

Файли цього матеріалу:
Файл Опис РозмірФормат 
Author_Notes_Andrii_Sotnyk.docx10,57 kBMicrosoft Word XMLПереглянути/відкрити
Andrii_Sotnyk.pdf2,19 MBAdobe PDFПереглянути/відкрити


Усі матеріали в архіві електронних ресурсів захищені авторським правом, всі права збережені.

Інструменти адміністратора