dc.contributor.advisor | CIORBĂ, Dumitru | |
dc.contributor.author | PANCRATOV, Alexei | |
dc.date.accessioned | 2021-02-23T08:27:23Z | |
dc.date.available | 2021-02-23T08:27:23Z | |
dc.date.issued | 2019 | |
dc.identifier.citation | PANCRATOV, Alexei. Implementarea unei arhitecturi reziliente bazate pe microservicii: tz. de master: Programul de studiu: Tehnologia informației. Cond. şt. CIORBĂ Dumitru. Universitatea Tehnică a Moldovei. Chişinău, 2019. | en_US |
dc.identifier.uri | http://repository.utm.md/handle/5014/13291 | |
dc.description | Fișierul atașat conține: Rezumat, Abstract, Cuprins. | en_US |
dc.description.abstract | В данной работе исследуются способы достижения устойчивости в распределѐнных системах, основанных на микросервисах. Исследование начинается с общего рассмотрения микросервисов. Рассматриваются их основные характеристики и преимущества, которыми они обладают по сравнению с монолитными системами. Далее рассматривается что такое устойчивость информационных систем, а также почему еѐ обеспечение в микросервисных системах является сложной, но необходимой задачей. Обеспечение стабильности рассматривается в большей степени с точки зрения применения общепризнанных стратегий, которые снижают вероятность сбоя («Повторение»), предотвращают сбои («Таймауты», «Предохранитель», «Переборки») или исключают их появление в системе («Тестовая программа»). Также уделяется внимание рассмотрению асинхронному общению между микросервисами с использованием очередей и брокеров сообщений. Целью данной работы было определить, что такое устойчивая распределѐнная система, а также изучить существующие способы обеспечения устойчивости и применить их на практике на примере системы бронирования номеров в отелях. Рассматриваемая микросервисная система создана с использованием технологии ASP.NET Core. Она состоит из четырѐх основных компонентов: веб-сайт для конечных пользователей, микросервис для обработки бронирований, микросервис для поиска отелей и базы данных. Общение с микросервисами происходит по протоколу HTTP. Каждый из этих компонентов развѐрнут внутри Docker контейнера. Для тестирования устойчивости и симуляции различных сценариев были использованы инструменты pumba для Docker и mountebank. В результате исследования было установлено, что благодаря правильному выбору стратегий обеспечения стабильности можно достичь высокого уровня SLA, снизить количество сбоев и равномерно распределить нагрузку на ресурсы сервера. Данные стратегии можно применить к любой микросервисной системе. | en_US |
dc.description.abstract | În aceasta lucrare se certetează metodele de atingere a rezilienței în sistemele distribuite bazate pe microservicii. Cercetare se începe cu o revizuire generală a microserviciilor. Principalele caracteristici și avantaje pe care le posedă în comparație cu sistemele monolitice sunt luate în considerare. În continuare, este luată în considerare reziliența sistemelor informaționale, precum și de ce asigurarea ei în sistemele de microservici reprezintă o sarcină dificilă, dar necesară. Asigurarea rezilienței este considerată mai mult din punctul de vedere al aplicării strategiilor general acceptate care reduc probabilitatea de eșec ("Retry"), previn eșecuri ("Timeouts", "Circuit Breaker", "Bulkheads") sau exclud apariția lor în sistemul ("Test Harness"). Se acordă atenție, de asemenea, a comunicării asincrone între microserviciile care utilizează cozile și brokerii de mesaje. Scopul acestei lucrări a fost de a determina ce este un sistem distribuit rezilient și, de asemenea, de a studia modalitățile existente de asigurare a rezilienței și de a le pune în practică utilizând exemplul unui sistem de rezervări hoteliere. Sistemul de microservici studiat este creat folosind tehnologia ASP.NET Core. Ea se compune din patru componente principale: un site web pentru utilizatorii finali, un microserviciu pentru procesarea rezervărilor, un microserviciu pentru căutarea hotelurilor și o bază de date. Comunicarea cu microservicii are loc prin intermediul protocolului HTTP. Fiecare dintre aceste componente este lansat în interiorul unui container Docker. Instrumentele pumba pentru Docker și mountebank au fost folosite pentru a testa rezistența și pentru a simula diferite scenarii. Ca rezultat al studiului, sa constatat că, datorită alegerii corecte a strategiilor pentru asigurarea rezilienței, este posibil de obținut: un nivel înalt de SLA, reducerea numărului de eșecuri și distribuirea uniformă a sarcinilor pe resursele serverului. Aceste strategii pot fi aplicate pentru oricare sistem de microservici. | en_US |
dc.description.abstract | This paper describes ways to achieve resiliency in distributed systems based on microservices. Research starts with general overview of microservices. Their characteristics and advantages comparing to monolithic systems are examined. Then resiliency of information systems is examined, along with why its guarantee is hard to achieve in microservice systems, but is a necessary task. Resiliency attainment is considered more from the point of view of applying widely accepted strategies which reduce probability of failure (“Repeat”), prevent failures (“Timeouts”, “Circuit Breaker”, “Bulkheads”) or exclude them (“Test Harness”). In addition, asynchronous communication between microservices using queues and message brokers is considered. The purpose of this study was to define what a resilient system means and to analyze existing practices of providing resiliency and to apply them on practice on a system for booking rooms in hotels. The studied microservice system was created using ASP.NET Core technology. It consists of four main components: web-site for final users, microservice for bookings processing, microservice for hotels lookup and a database. Communication with microservices is done via the HTTP protocol. Each of these components is deployed inside a Docker container. For testing resiliency and simulation of different scenarios were used tools like pumba for Docker and mountebank. As a result of the research it was established that thanks to the correct choice of resiliency strategy it is possible to achieve a high level of SLA, to reduce number of failures and to evenly distribute load on server. These strategies can be applied to any microservice system. | en_US |
dc.language.iso | ru | en_US |
dc.publisher | Universitatea Tehnică a Moldovei | en_US |
dc.rights | Attribution-NonCommercial-NoDerivs 3.0 United States | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/us/ | * |
dc.subject | микросервисы | en_US |
dc.subject | устойчивость | en_US |
dc.subject | стратегия устойчивости | en_US |
dc.subject | microservicii | en_US |
dc.subject | reziliență | en_US |
dc.subject | strategie de reziliență | en_US |
dc.subject | microservices | en_US |
dc.subject | resiliency | en_US |
dc.subject | resiliency strategy | en_US |
dc.title | Implementarea unei arhitecturi reziliente bazate pe microservicii | en_US |
dc.title.alternative | Создание устойчивой архитектуры, основанной на микросервисах | en_US |
dc.title.alternative | Implementation of a resilient microservice architecture | en_US |
dc.type | Thesis | en_US |
The following license files are associated with this item: