Student Miloš Čečulović odbranio je diplomski rad na temu „Implementacija distribuirane transakcije nad mikroservisima uz proširenje sistemom za praćenje“


Student Računarskog fakulteta Miloš Čečulović je u četvrtak, 11. oktobra 2023. godine odbranio diplomski rad na temu Implementacija distribuirane transakcije nad mikroservisima uz proširenje sistemom za praćenje pred komisijom koju su činili mentor dr Bojana Dimić Surla i član dr Snežana Popović.

U uvodu svog rada Miloš je istakao sledeće:

Mikroservisna arhitektura je način dizajniranja softver aplikacija kao skup malih servisa. Iako ne postoji precizna definicija ovog arhitekturalnog stila, postoji mnogo zajedničkih karakteristika kod organizacije oko poslovnih mogućnosti, automatskog otpremanja, inteligencije u krajnjim tačkama (endpoint), kao i decentralizovana kontrola jezika i podataka.

Iz godine u godinu, mikroservisna arhitektura se pokazuje kao odlilčno rešenje za probleme servisnih aplikacija koje moraju da se skaliraju globalno. Korisna je ne samo u tehnološkom smislu, već i u organizacionom. Omogućava bolju raspodelu odgovornosti između timova. Međutim, kao što komunikacija između timova postaje teža kako raste kompanija, tako i komunikacija između mikroservisa postaje mnogo kompleksnija u odnosu na komunikaciju unutar monolitnih arhitektura.


U ovom radu, opisani su izazovi i rešenja u oblasti distribuiranih transakcija. Osvrnuli smo se na važnost održavanja integriteta podataka i konzistentnosti u kompleksnim mikroservisnim arhitekturama. Implementacija distribuirane transakcije pomoću 2PC protokola predstavlja značajan korak u rešavanju problema transakcionog upravljanja u distribuiranim sistemima. Ovaj rad pruža uvid u proces implementacije takve transakcije i istražuje kako se različiti servisi mogu sinhronizovati kako bi se osigurala konzistentnost podataka. Dodatno, proširili smo sistem za praćenje distribuiranih transakcija putem metapodataka i informacija o otkazu što omogućava bolje razumevanje toka transakcija i olakšava identifikaciju i rešavanje problema u slučaju greške. U daljem radu, moguće je razmotriti implementaciju registra servisa (discovery) kako bi se dodatno poboljšala efikasnost distribuiranih transakcija. Discovery servis može pružiti dodatnu podršku u otkrivanju i upravljanju servisima u distribuiranom okruženju. Naravno, i 2PC ima i svoje nedostatke. Koordinator transakcija čeka odgovore od svih servisa učesnika pre nego što nastavi sa drugom fazom izvršenja. Ovo povećava latenciju i može dovesti do sporih izvršenja. Zbog toga, 2PC  nije dobar izbor za aplikacije koje zahtevaju visok nivo performansi. Isto tako, spor učesnik može negativno uticati na performanse drugih učesnika. Ukupno vreme transakcije je proporcionalno vremenu koje je potrebno najsporijem serveru. – zaključio je Miloš.

Fotografije sa odbrane dostupne su u galeriji.