Bu öğeden alıntı yapmak, öğeye bağlanmak için bu tanımlayıcıyı kullanınız: http://elartu.tntu.edu.ua/handle/lib/46000
Başlık: Файлове хмарне сховище на базі кластера Raspberry PI із застосуванням мікросервісної архітектури
Diğer Başlıklar: File cloud storage based on a Raspberry PI cluster using a microservice architecture
Yazarlar: Сотник, Андрій Петрович
Sotnyk, Andrii
Affiliation: Тернопільський національний технічний університет імені Івана Пулюя
Ternopil Ivan Puluj National Technical University
Bibliographic description (Ukraine): Сотник А. П. Файлове хмарне сховище на базі кластера Raspberry PI із застосуванням мікросервісної архітектури : робота на здобуття кваліфікаційного ступеня бакалавр : спец. 123 — комп’ютерна інженерія / наук. кер. Н. Я. Шингера. Тернопіль : Тернопільський національний технічний університет імені Івана Пулюя, 2024. 71 с.
Yayın Tarihi: 17-Haz-2024
Submitted date: 25-Haz-2024
Date of entry: 9-Tem-2024
Yayıncı: Тернопільський національний технічний університет імені Івана Пулюя
Country (code): UA
Place of the edition/event: Тернопільський національний технічний університет імені Івана Пулюя
Supervisor: Шингера, Наталія Ярославівна
Shyngera, Nataliia
Committee members: Мудрик, Іван Ярославович
Mudryk, Ivan
UDC: 004.63
Anahtar kelimeler: файлове хмарне скластерховище
Raspberry PI
мікросервісна архітектура
cloud file storage
cluster
microservices architecture
Number of pages: 71
Özet: У результаті виконання роботи було розроблене файлове сховище на базі кластеру 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.
Content: З М І С Т Вступ 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
Copyright owner: © Сотник Андрій Петрович, 2024
© Sotnyk Andrii, 2024
References (Ukraine): Осухівська Г.М., Тиш Є.В., Луцик Н.С., Паламар А.М. Харченко О., Яцишин В. Розробка та керування вимогами до програмного забезпечення на основі моделі якості. Вісник ТДТУ. Тернопіль, 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 «Про затвердження Вимог щодо безпеки та захисту здоров’я працівників під час роботи з екранними пристроями».
Content type: Bachelor Thesis
Koleksiyonlarda Görünür:123 — Комп’ютерна інженерія (бакалаври)

Bu öğenin dosyaları:
Dosya Açıklama BoyutBiçim 
Author_Notes_Andrii_Sotnyk.docx10,57 kBMicrosoft Word XMLGöster/Aç
Andrii_Sotnyk.pdf2,19 MBAdobe PDFGöster/Aç


DSpace'deki bütün öğeler, aksi belirtilmedikçe, tüm hakları saklı tutulmak şartıyla telif hakkı ile korunmaktadır.

Yönetim Araçları