Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/18406
Title: Event-Driven Architectures using Apache Kafka
Authors: Λιαροκάπης, Αλέξανδρος Άρης
Βεσκούκης Βασίλειος
Keywords: events
event processing
event sourcing
event streaming
microservices
inter-service communication
asynchronous communication
asynchronous messaging
message brokers
message queues
event driven architecture
apache kafka
distributed log
topic
partition
replication
leader election
consumers
producers
consumer groups
high resiliency
high availability
throughput
latency
Issue Date: 8-Jul-2022
Abstract: Event-Driven architectures are a very useful approach to decoupling inter-service communication while enabling unique communication patterns. The specific resiliency, availability, and performance requirements of such architectures, warrants the usage of specialized Message-Broker services. Moreover, new real-time requirements of many event processing tasks, such as metrics and analytics, requires a new approach compared to legacy batch processing. Apache Kafka is an open-source event streaming platform that can accommodate both use cases. This thesis performs a succinct presentation of Apache Kafka’s main architectural model, while focusing on its concrete resiliency and availability guarantees and providing guidelines for achieving desired operational characteristics. We also document and further enhance a mathematical model that permits the estimation and concrete sizing of cluster infrastructure, as well as express the link between topic sizing, maximum Event-Driven architectures are a very useful approach to decoupling inter-service communication while enabling unique communication patterns. The specific resiliency, availability, and performance requirements of such architectures, warrants the usage of specialized Message-Broker services. Moreover, new real-time requirements of many event processing tasks, such as metrics and analytics, requires a new approach compared to legacy batch processing. Apache Kafka is an open-source event streaming platform that can accommodate both use cases. This thesis performs a succinct presentation of Apache Kafka’s main architectural model, while focusing on its concrete resiliency and availability guarantees and providing guidelines for achieving desired operational characteristics. We also document and further enhance a mathematical model that permits the estimation and concrete sizing of cluster infrastructure, as well as express the link between topic sizing, maximum unavailability and end-to-end latency.
URI: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/18406
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File Description SizeFormat 
thesis.pdf6.92 MBAdobe PDFView/Open


Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.