TY - GEN
T1 - Modeling and Verifying Producer-Consumer Communication in Kafka Using CSP
AU - Xu, Junya
AU - Yin, Jiaqi
AU - Zhu, Huibiao
AU - Xiao, Lili
N1 - Publisher Copyright:
© 2021 ACM.
PY - 2021/5/26
Y1 - 2021/5/26
N2 - 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.
AB - 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.
KW - CSP
KW - Kafka
KW - Message Delivery
KW - Messaging System
KW - Modeling
KW - Verification
UR - http://www.scopus.com/inward/record.url?scp=85107196992&partnerID=8YFLogxK
U2 - 10.1145/3459960.3459961
DO - 10.1145/3459960.3459961
M3 - 会议稿件
AN - SCOPUS:85107196992
T3 - ACM International Conference Proceeding Series
BT - Proceedings of the 7th Conference on the Engineering of Computer Based Systems, ECBS 2021
PB - Association for Computing Machinery
T2 - 7th Conference on the Engineering of Computer Based Systems, ECBS 2021
Y2 - 26 May 2021 through 27 May 2021
ER -