Implementation of the Raft Consensus Algorithm Based on the Coroutine Mechanism and a Specialized Network Library

Abstract

This paper discusses the implementation of the Raft Server consensus module in the C++ standard 20 programming language. The key feature of the work is that the algorithm is implemented without the use of third-party libraries. This approach guarantees flexibility and provides the opportunity to emphasize on maximizing performance. First, an overview of the Raft algorithm is presented, followed by details of the Raft Server development process, and a description of the proprietary network library based on the coroutine mechanism is presented. The implementation of the algorithm utilizes the features of C++ standard 20, in particular coroutines, to present an efficient and modern methodology for creating critical components of distributed systems. This study not only demonstrates the practical applications and benefits of C++20 coroutines in complex distributed software environments, but also analyzes the emerging problems and their solutions when developing a consensus module such as Raft Server.

Author Biographies

Maxim Olegovich Melnikov, Bunin Yelets State University

Postgraduate Student of the Chair of Mathematical Modeling, Computer Technologies and Information Security, Institute of Mathematics, Natural Science and Technology

Elena Viktorovna Igonina, Bunin Yelets State University

Associate Professor, Head of the Chair of Mathematics and Methods of its Teaching, Institute of Mathematics, Natural Science and Technology, Cand. Sci. (Phys.-Math.), Associate Professor

Published
2024-10-15
How to Cite
MELNIKOV, Maxim Olegovich; IGONINA, Elena Viktorovna. Implementation of the Raft Consensus Algorithm Based on the Coroutine Mechanism and a Specialized Network Library. Modern Information Technologies and IT-Education, [S.l.], v. 20, n. 3, oct. 2024. ISSN 2411-1473. Available at: <http://sitito.cs.msu.ru/index.php/SITITO/article/view/1121>. Date accessed: 12 sep. 2025.
Section
Research and development in the field of new IT and their applications