GitHub repository: Azure/RSL
Primary language: C++
Description: Replicated State Library. RSL is the Azure Paxos implementation which is used by multiple products in Azure and Bing. It provides the traditional Paxos functionality in a real world implementation. RSL includes support for dynamic replica set reconfiguration, including dynamic growth/srinking of the cluster, and also service-healing (replica replacement). RSL automates the durability of the state (by means of both durable journal files, and periodic snapshots). RSL allows multi-rings per process, allowing a single process to be part of multiple rings at the same time. RSL is implemented in C/C++ and provides a C# wrapper that naturally integrates with C# applications. RSL is widely used in Azure for a large number of infrastructure components, ranging from Azure Fabric Controller, to Azure Storage.