Developing a chatting application using Apache Kafka
Pham, Minh Duc (2023)
Pham, Minh Duc
2023
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202305088325
https://urn.fi/URN:NBN:fi:amk-202305088325
Tiivistelmä
Apache Kafka is a popular distributed streaming platform that has gained immense popularity in recent years due to its high performance and scalability. This thesis presents the use of Apache Kafka in developing a chatting application. The primary objective of this thesis was to design and implement a real-time messaging system using Apache Kafka, focusing on its scalability and fault-tolerance capabilities. The objective was to make the system able to handle large volumes of messages while maintaining an acceptable response time.
The development process involved designing the system architecture, configuring Kafka and ZooKeeper, and conducting tests. The tools and technologies that were used in the practical work for the thesis are Apache Kafka, ZooKeeper, Spring Boot, ReactJS and JMeter.
The proposed chat application utilized the publish-subscribe messaging pattern provided by Kafka. This thesis also discusses the architecture and design of the chat application and how the features of Kafka, such as message replication, can help in ensuring data consistency and fault tolerance.
Along the development phase, JMeter was adopted for load testing and performance measurement. After evaluating the proposed chat application, Apache Kafka has proven to be an effective solution for building a durable and scalable messaging system.
The development process involved designing the system architecture, configuring Kafka and ZooKeeper, and conducting tests. The tools and technologies that were used in the practical work for the thesis are Apache Kafka, ZooKeeper, Spring Boot, ReactJS and JMeter.
The proposed chat application utilized the publish-subscribe messaging pattern provided by Kafka. This thesis also discusses the architecture and design of the chat application and how the features of Kafka, such as message replication, can help in ensuring data consistency and fault tolerance.
Along the development phase, JMeter was adopted for load testing and performance measurement. After evaluating the proposed chat application, Apache Kafka has proven to be an effective solution for building a durable and scalable messaging system.