Back to Search Start Over

Implementacija i analiza rada Apache Kafka platforme za obradu velikih sljedova podataka

Authors :
Bilić, Branimir
Publication Year :
2022

Abstract

Cilj diplomskog rada je analizirati rad Apache Kafka platforme kao distribuiranog sustava za obradu sljedova podataka i razmjenu poruka po modelu objave i pretplate. Obrađeni su temeljni funkcije Kafke platforme kao i sam način rada. Pokazano je da Kafka platforma sprema poruke u teme koje mogu biti podijeljene na više particija. Kafka proizvođači objavljuju poruke na teme koje se nalaze na posredniku odnosno Kafka brokeru. Kafka potrošači čitaju poruke tako što se pretplaćuju na odgovarajuće teme. Praktični dio rada osmišljen je kao aplikacija za razmjenu poruka (engl. chat) između dva klijenta koji komuniciraju uz pomoć WebSocket i STOMP protokola, koristeći Apache Kafka platformu kao posrednika za poruke. Putem aplikacije za razmjenu poruka klijenti imaju mogućnosti razmjenjivati tekstualne poruke i datoteke određenog formata poput json i csv datoteka. Razvijena aplikacija sadrži generatore poruka koji služe za testiranje rada Kafka platforme kroz mogućnost generiranja manjeg, srednjeg i većeg broja poruka. Testiranje je provedeno u tri faze, pri čemu je tokom testiranja praćen vremenski period između prve i zadnje poruke koja uspješno stigne na proizvođača do potrošača. U prvoj fazi testiranja analizirano je prosječno vrijeme potrebno da poruke stignu na odredište (do potrošača) pod utjecajem promjene broja particija u Kafka temi i povećanja broja Kafka potrošača. U drugoj fazi testiranja analiziran je utjecaj veličine dva bitna konfiguracijska parametra i to batch.size i linger.ms na rad Kafka platforme. Konfiguracijski parametar batch.size predstavlja gornju granicu memorije (u bajtovima) grupiranih poruka planiranih za slanje i njegovim povećanjem omogućuje se slanje većeg broja poruka tokom jednog pojedinačnog slanja. Drugi analizirani konfiguracijski parametar linger.ms omogućuj grupiranje poruka odgodom slanja poruka, odnosno stvara umjetno kašnjenje u svrhu kreiranja grupe poruka za slanje. Rezultati druge faze analize pokazali su da oba parametra imaju značajan utjecaj na rad Kafka platforme i da je moguće naći optimalnu kombinaciju vrijednosti obaju parametara s kojom se minimizira vrijeme razmjene poruka između proizvođača i potrošača. U trećoj fazi testiran je utjecaj povećanja grupa potrošača koji čitaju podatke s iste particije u Kafka temi na vrijeme prijenosa slijeda poruka između proizvođača i potrošača. Na temelju dobivenih rezultata utvrđeno je da porast broja korisničkih grupa po istoj particiji povećava vrijeme prijenosa sljedova poruka. Stoga promjena broja particija u Kafka temi i dodavanje više potrošačkih grupa na istu particiju u Kafka temi kao i promjena konfiguracijskih parametara proizvođača značajno utječu na ukupno vrijeme prijenosa sljedova podataka u Kafka platformi.

Details

Language :
Croatian
Database :
OpenAIRE
Accession number :
edsair.57a035e5b1ae..afd682e894dc304666c55793a8172ef6