Weighted Raft and its Application to Geographically Distributed Servers
Modern application are usually deployed in a distributed architecture where several servers are involved in providing service to users. Distributed systems offer fault tolerance and increased availability. In some cases, the servers are distributed in different geographic locations to reduce latency and provide better service to end users. Keeping data consistent across servers is a fundamental problem. Raft consensus algorithm has been prepared to achieve data consistency in the presence of server failure. In Raft, servers elect a leader server that manages client-side requests and updates the data files. Each server has the same chance to becoming a leader. Although typical Raft servers are in a local cluster, in many natural applications, Raft can be used in a geographically distributed setting to ensure data consistency. In such a setting, it is natural to allow the “closest” server to a user to respond to the user request. The notation of “closeness” could capture not only geographic location but also network connectivity and capacity. Motivated by the above challenge, we propose Geo-Raft which is the application of Raft protocol in geographically distributed systems. To reduce the performance cost, we add weights to servers’ election timeout to enable the most suitable server to be elected as the leader and serve the users. We propose a model to optimize Geo-Raft performance and present an approach to determine Raft timeouts for a given set of weights. We discuss our results and directions for future work.
Raft Consensus Algorithm, Geographically Distributed System, Cost Optimization
Liu, Xi. (2018). Weighted Raft and its Application to Geographically Distributed Servers (Master's thesis, University of Calgary, Calgary, Canada). Retrieved from https://prism.ucalgary.ca. doi:10.11575/PRISM/33043