Student Luka Đurić odbranio je diplomski rad na temu „Obrasci komunikacije u mikroservisnoj arhitekturi“

Student Računarskog fakulteta Luka Đurić je u ponedeljak, 24. oktobra 2022. godine odbranio diplomski rad na temu Obrasci komunikacije u mikroservisnoj arhitekturi pred komisijom koju su činili mentor dr Bojana Dimić Surla i član dr Milan Vidaković.

U uvodu svog rada Luka 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, 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 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 je mnogo kompleksnija od monolitnih arhitektura.


U ovom radu su opisani česti obrasci u komunikaciji mikroservisa, i prikazani primeri njihove implementacije. Kroz ove obrasce možemo smanjiti zavisnost između servisa i povećati performanse kroz paralelno izvršavanje komandi. Bitno je napomenuti da nema savršenog rešenja za sve situacije i potrebno je izvagati potrebe projekta i funkcionalnosti sa cenama svakog rešenja.

Često se koristi mešavina svih ovih obrazaca. Kako se akcenat u mikroservisnim arhitekturama stavlja na nezavisnost, moguće je koristiti više različitih tehnologija, npr. RESTza sinhronu komunikaciju sa korisnicima, a gRPC za sinhronu komunikaciju između servisa. Neke funkcionalnosti možemo implementirati preko saga baziranih na koreografiji, a neke preko saga baziranih na orkestraciji.

Razumevanje ovih obrazaca komunikacije omogućava da se napravi najbolji izbor za svaki konkretan slučaj i primeni odgovarajući šablon. Čak i u monolitnim aplikacijama je moguće primeniti neke od ovih šablona, pogotovu u sistemima koji dosta rade sa bazama podataka. – zaključio je Luka.