Pregled bibliografske jedinice broj: 1216693
Implementacija i analiza rada Apache Kafka platforme za obradu velikih sljedova podataka
Implementacija i analiza rada Apache Kafka platforme za obradu velikih sljedova podataka, 2022., diplomski rad, diplomski, Fakultet elektrotehnike, strojarstva i brodogradnje (FESB)/Zavod za elektorniku i računarstvo, Split
CROSBI ID: 1216693 Za ispravke kontaktirajte CROSBI podršku putem web obrasca
Naslov
Implementacija i analiza rada Apache Kafka platforme za
obradu velikih sljedova podataka
(Implementation and performance analysis of the Apache
Kafka platform for processing large data streams)
Autori
Bilić, Branimir
Vrsta, podvrsta i kategorija rada
Ocjenski radovi, diplomski rad, diplomski
Fakultet
Fakultet elektrotehnike, strojarstva i brodogradnje (FESB)/Zavod za elektorniku i računarstvo
Mjesto
Split
Datum
21.09
Godina
2022
Stranica
89
Mentor
Lorincz , Josip
Ključne riječi
Apache Kafka ; proizvođač ; potrošač ; posrednik ; tema ; particija ; ZooKeeper ; WebSocket ; Spring Boot ; STOMP ; sljedovi podataka
(Apache Kafka ; producer ; consumer ; broker ; topic ; partition ; ZooKeeper ; WebSocket ; Spring Boot ; STOMP ; data stream)
Sažetak
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.
Izvorni jezik
Hrvatski
Znanstvena područja
Elektrotehnika, Računarstvo, Informacijske i komunikacijske znanosti