{"repo":"relab/gorums","free":true,"listed":false,"github":"https://github.com/relab/gorums","clone":"git clone https://github.com/relab/gorums.git","description":"Gorums simplify fault-tolerant quorum-based protocols","language":"Go","stars":148,"topics":["quorum","quorum-call","rpc-framework","grpc"],"license":"MIT","category":"networking-infra","readme_excerpt":"Gorums Gorums [1] is a novel framework for building fault tolerant distributed systems. Gorums offers a flexible and simple quorum call abstraction, used to communicate with a set of processes, and to collect and process their responses. Gorums provides separate abstractions for (a) selecting processes for a quorum call and (b) processing replies. These abstractions simplify the main control flow of protocol implementations, especially for quorum-based systems, where only a subset of the replies to a quorum call need to be processed. Gorums uses code generation to produce an RPC library that clients can use to invoke quorum calls. Gorums is a wrapper around the gRPC library. Services are defined using the protocol buffers interface definition language. System Requirements To build and deploy Gorums, you need the following software installed: Protobuf compiler (protoc) Make Ansible (used by benchmark script) Contributors Guide We value your contributions. Before starting a contribution, please reach out to us by posting on an existing issue or creating a new one. Students and other contributors are encouraged to follow these guidelines: We recommend using VSCode with the following plugins Go plugin with the gopls language server enabled golangci-lint enabled Code Spell Checker markdownlint vscode-proto3 Code should regularly be merged into master through pull requests. Examples The original EPaxos implementation modified to use Gorums can be found here. A collection of differe","default_branch":null,"files":null,"tree":[],"storefront":"/r/relab","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/relab/gorums/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}