A Comparative Study of Kafka and NATS
| dc.contributor.author | Salonen, Nino | |
| dc.contributor.department | fi=Tietotekniikan laitos|en=Department of Computing| | |
| dc.contributor.faculty | fi=Teknillinen tiedekunta|en=Faculty of Technology| | |
| dc.contributor.studysubject | fi=Tietotekniikka|en=Information and Communication Technology| | |
| dc.date.accessioned | 2025-06-24T21:06:00Z | |
| dc.date.available | 2025-06-24T21:06:00Z | |
| dc.date.issued | 2025-06-18 | |
| dc.description.abstract | Distributed messaging systems are a key component of modern software architectures. This thesis compares two such systems to identify the differences and trade-offs between them. These results aim to help practitioners select the most suitable messaging system for their specific needs. Kafka is widely used in data-intensive applications for high throughput and persistent messaging, while NATS has traditionally focused more on lightweight real-time communication. With the addition of the JetStream persistence layer, NATS now has capabilities for message durability and replay, making it a viable alternative to Kafka. This thesis consists of a literature review and an empirical benchmark. The literature review explores the architectural differences and feature sets of both systems for event streaming. The benchmark measures latency, throughput, and resource usage while sending messages in both a single-node and a three-node environment with increased persistence. The results show that Kafka's design and features for high throughput enable it to achieve overall better performance while also using resources more efficiently. This advantage is more evident under heavy distributed workloads. NATS requires significantly less configuration effort and offers greater flexibility, while also performing reasonably well compared to Kafka. The findings indicate that Kafka's main strength is handling large volumes of messages, while NATS is a viable and more flexible alternative when maximum throughput is not the primary goal. | |
| dc.format.extent | 62 | |
| dc.identifier.olddbid | 199370 | |
| dc.identifier.oldhandle | 10024/182402 | |
| dc.identifier.uri | https://www.utupub.fi/handle/11111/10634 | |
| dc.identifier.urn | URN:NBN:fi-fe2025062473310 | |
| dc.language.iso | eng | |
| dc.rights | fi=Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty.|en=This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.| | |
| dc.rights.accessrights | avoin | |
| dc.source.identifier | https://www.utupub.fi/handle/10024/182402 | |
| dc.subject | messaging middleware, Kafka, NATS, event streaming, distributed systems | |
| dc.title | A Comparative Study of Kafka and NATS | |
| dc.type.ontasot | fi=Diplomityö|en=Master's thesis| |
Tiedostot
1 - 1 / 1