Дипломна работа

Платформа за търсене на микро-услуги | Защитена на: 08/03/2016

Една от основните цели на системите базирани на микро-услуги е да постигнат възможно най-ефективна репликация. Това се постига, чрез разделяне на системата на отделни модули, които могат да се стартират независимо един от друг. Така става възможно репликирането само на модулите, които са под най-голямо натоварване, без да е необходимо да се стартира нова инстанция на цялата система, както е при системите базирани на монолитна архитектура. Това позволява и пълноценното използване на виртуализацията в облачните среди – при необходимост се стартират нови виртуални машини или контейнери, на които се стартира нова реплика само на дадения модул, който е под голямо натоварване. Мрежовите адреси на тези виртуални инстанции обаче са динамично генерирани. Това налага необходимостта от използването на механизъм за откриването на отделните микро-услуги, понеже статична конфигурация с адресите им би се оказала, ако не невъзможна, то изключително трудна за поддръжка при достигане на достатъчно големи мащаби на системата.

За целта, в дипломната работа са разгледани различни похвати за регистриране и търсене на микро-услуги. Също така са разгледани и най-популярните вече съществуващи решения. Оказва се, че някои от тях са доста сложни за разучаване и поддръжка, други изискват прекалено сложна конфигурация или пък не скалират добре. Поради тази причина в дипломната работа се цели да се реализира платформа за търсене на микро-услуги, която е лесна за поддръжка, конфигуриране и е способна да обработва голямо количество трафик.

На база на анализа на плюсовете и минусите на разучените методи и системи, е имплементирана платформата за регистриране и търсене на микро-услуги. Понеже тя би била критична за работата на система, в която е интегрирана, то тя е проектирана с цел да се постигне максимална наличност и производителност. За целта е използвана архитектура тип клиент-сървър с поддържане на пасивен излишък, което осигурява максимална наличност на системата. За постигането на възможно най-голямо бързодействие са използвани похвати, които да могат се възползват от паралелна обработка на заявките, а също така и структури от данни, които да подпомогнат възможно най-бързото намиране на регистрации.

Поради нивата на постигнатата наличност и производителност, платформата е готова за използване в продукционна среда. Предвидено е и постигането на още по-добра производителност при бъдещо развитие на платформата, както чрез позволяване на търсене на микро-услуги и от текущите пасивните реплики на сървъра, така и чрез подобряване на разпределението на натоварването върху намерените услуги.

Scroll to Top