DSpace Repository

Implementarea unei arhitecturi reziliente bazate pe microservicii

Show simple item record

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


Files in this item

The following license files are associated with this item:

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivs 3.0 United States Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivs 3.0 United States

Search DSpace


Advanced Search

Browse

My Account