Modeling and Verifying Producer-Consumer Communication in Kafka Using CSP

Junya Xu, Jiaqi Yin, Huibiao Zhu, Lili Xiao

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

11 Scopus citations

Abstract

Apache Kafka is a popular open source and commercially supported distributed publish-subscribe messaging system, which achieves high throughput, low latency and good load balancing. As a widely used messaging system, message delivery between producers and consumers is one of core functions in Kafka, and the reliability and correctness of message delivery are important and concerned. The formal methods can analyze whether it is a highly credible model. Therefore, it is significant to analyze the communication between producers and consumers from the perspective of formal methods. In this paper, we model the communication between producers and consumers in Kafka by the process algebra CSP (Communicating Sequential Processes). Moreover, we also apply the model checking tool PAT (Process Analysis Toolkit) to verify five properties of our system namely Deadlock Freedom, Acknowledgement Mechanism, Parallelism, Sequentiality and Fault Tolerance. The results of verification show the model of message transmission in Kafka messaging system caters for its specification, from which this system can be concluded that it is reliable.

Original languageEnglish
Title of host publicationProceedings of the 7th Conference on the Engineering of Computer Based Systems, ECBS 2021
PublisherAssociation for Computing Machinery
ISBN (Electronic)9781450390576
DOIs
StatePublished - 26 May 2021
Externally publishedYes
Event7th Conference on the Engineering of Computer Based Systems, ECBS 2021 - Novi Sad, Serbia
Duration: 26 May 202127 May 2021

Publication series

NameACM International Conference Proceeding Series

Conference

Conference7th Conference on the Engineering of Computer Based Systems, ECBS 2021
Country/TerritorySerbia
CityNovi Sad
Period26/05/2127/05/21

Keywords

  • CSP
  • Kafka
  • Message Delivery
  • Messaging System
  • Modeling
  • Verification

Fingerprint

Dive into the research topics of 'Modeling and Verifying Producer-Consumer Communication in Kafka Using CSP'. Together they form a unique fingerprint.

Cite this