Performance Evaluation of Apache Kafka and Redpanda
Loading...
URL
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu |
Master's thesis
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
2024-08-19
Department
Major/Subject
Signal, Speech and Language Processing
Mcode
ELEC3031
Degree programme
CCIS - Master’s Programme in Computer, Communication and Information Sciences (TS2013)
Language
en
Pages
54
Series
Abstract
The aim of this thesis was to measure the performance of three event streaming platforms in three different test cases. The thesis went through the most important information about streaming infrastructure, including the Kappa architecture, event streaming tools, stream processing tools and the key performance indicators and metrics used to measure the performance of the platforms. The thesis also showed the Python implementations of the producers and consumers used to generate and read the data. Additionally the thesis shows the Docker implementations of the brokers, including the tools used to measure the broker performances. The three event streaming platforms inspected were using Apache Kafka with ZooKeeper, Apache Kafka with KRaft and Redpanda. The first test case was done with one producer, consumer, broker, topic and partition. The second test case increased the number of producers to four. The third test case had four producers, but also now three brokers and partitions. Overall, the platform using Redpanda had slightly slower throughput degradation than the other platform, but also had significantly worse latency distribution. Both platforms using Kafka had essentially the same latency distributions in each test case, but Kafka with KRaft had slightly slower throughput degradation.Tämän työn tavoitteena oli mitata kolmen viestivirta-alustan suorituskykyä kolmessa eri testitapauksessa. Tutkielmassa käytiin läpi datavirtainfrastruktuurin tärkeimmät periaatteet, mukaan lukien Kappa-arkkitehtuurin, viestivirta-alustat, datavirtaytyökalut sekä keskeiset suorituskykyindikaattorit ja parametrit, joiden avulla alustojen suorituskykyä mitataan. Tutkielma esitteli myös Python-toteutukset tuottajille ja kuluttajille, joita käytettiin datan luomiseen ja lukemiseen. Lisäksi tutkielmassa näytettiin alustojen Docker-toteutukset, sisältäen myös työkalut, joilla mitattiin näiden alustojen suorituskykyä. Tutkittavana oli kolme viestivirta-alustaa, jotka käyttivät Apache Kafkaa ZooKee- perin kanssa, Apache Kafkaa KRaftin kanssa ja Redpandaa. Ensimmäinen testitapaus suoritettiin yhdellä tuottajalla, kuluttajalla, alustalla ja osioinnilla. Toisessa testitapauksessa tuottajien määrä nostettiin neljään. Kolmannessa testitapauksessa oli neljä tuottajaa, mutta myös kolme alustaa ja osiontia. Kokonaisuudessaan Redpandaa käyttävä alusta koki hieman hitaampaa suoritustehon heikkenemistä kuin muut alustat, mutta sillä oli myös merkittävästi huonompi viivejakauma. Molemmilla Kafkaa käyttävillä alustoilla oli käytännössä samat viivejakaumat jokaisessa testitapauksessa, mutta Kafka KRaftin kanssa koki hieman hitaampaa suoritustehon heikkenemistä.Description
Supervisor
Wichman, RistoThesis advisor
Aaltonen, SimoKeywords
event streaming platforms, stream processing, streaming data, Kappa architecture