Abstract
NSQ (New Simple Queue) is a real-time distributed messaging platform implemented by Go language. It’s designed to operate at scale stably and efficiently handle billions of messages per day. Its decentralized topology guarantees fault tolerance, high availability, and reliable message delivery. Operationally, NSQ is elastic to configure and deploy. With the broad application of the NSQ message system, its security and stability have attracted extensive concentration. Therefore, it is crucial to conduct a rigorous analysis and verification of NSQ’s properties. In this paper, we employ process algebra CSP (Communicating Sequential Processes) to model the core functional modules of the NSQ. In addition, we utilize the model checker PAT (Process Analysis Toolkit) to verify five properties of the model, including divergence freedom, reachability, scalability, availability, and flow controllability. The verification results demonstrate that the NSQ system satisfies all the above properties, proving that the system has high flexibility and robustness while providing credible and efficient message delivery.
Original language | English |
---|---|
Pages (from-to) | 74-81 |
Number of pages | 8 |
Journal | CEUR Workshop Proceedings |
Volume | 3612 |
State | Published - 2023 |
Event | Joint of the 5th International Workshop on Experience with SQuaRE Series and its Future Direction and the 11th International Workshop on Quantitative Approaches to Software Quality, IWESQ-QuASoQ 2023 - Hybrid, Seoul, Korea, Republic of Duration: 4 Dec 2023 → … |
Keywords
- Communicating Sequential Processes(CSP)
- Messaging System
- Modeling
- NSQ
- Verification