一些不错英文资料的中文翻译。 Chinese translations for classic IT resources.
translation chinese-translation lisp elixir git design distributed-systems design-thinking paxos design-principle computer-science consensus experiment api api-design simplified-chinese translations reactiveA (hopefully) curated list on awesome material on distributed systems, inspired by other awesome frameworks like awesome-python. Most links will tend to be readings on architecture itself rather than code itself. Read things here before you start.
distributed-systems paper architecture paxos lamport consensusDragonboat is a high performance multi-group Raft consensus library in Go with C++11 binding support. Consensus algorithms such as Raft provides fault-tolerance by alllowing a system continue to operate as long as the majority member servers are available. For example, a Raft cluster of 5 servers can make progress even if 2 servers fail. It also appears to clients as a single node with strong data consistency always provided. All running servers can be used to initiate read requests for aggregated read throughput.
raft paxos distributed-systems raft-protocol raft-algorithm consensus replicated-state-machines raft-cpp raft-cxx distributed-storageA curated selection of artisanal consensus algorithms and hand-crafted distributed lock services.
paxos consensus-algorithm raft awesomePaxosStore is a distributed-database initially inspired by Google MegaStore. It's the second generation of storage system developed to support current WeChat sevice and applications. PaxosStore has been deployed in WeChat production for more than four years, providing storage services for the core businesses of WeChat backend including user account management, user relationship management (i.e., contacts), instant messaging, social networking (i.e., Moments), and online payment (i.e., WeChat Pay).
paxos database distributed-database consensusPaxi is the framework that implements WPaxos and other Paxos protocol variants. Paxi provides most of the elements that any Paxos implementation or replication protocol needs, including network communication, state machine of a key-value store, client API and multiple types of quorum systems. Warning: Paxi project is still under heavy development, with more features and protocols to include. Paxi API may change too.
paxos wan wpaxosThis markdown file contains a list of academic papers (and other works) in the field of distributed consensus. Many of the papers listed below fit into more than one section. However, for simplicity, each paper is listed only in the most relevant section. Where possible, open access links for each paper have been provided. Contributions are welcome. This section lists theoretical results relating to distributed consensus.
distributed-systems networked-systems consensus-algorithm paxos atomic-broadcast-protocol zookeeper fault-tolerance distributed-computingA Multi-Paxos implementation in pure JavaScript.
consensus paxos database network atomic broadcast multi-paxos queue fifoConflux is Redux for distributed systems.Distributed systems are hard. Conflux is an attempt at making distributed systems understandable. It aims to do what Redux did for Flux, and what Raft did for Paxos.
raft paxosGaggle is a Raft implementation that focuses on ease of use.Anything that can be serialized and deserialized as JSON is valid message data. If callback is not provided, a Promise will be returned.
raft paxos raft-consensusCruise is a node implementation of the Raft consensus algorithm. It's primary use is to coordinate groups of machines within a distributed system. Cruise ensures that nodes will hold a consistent view of the cluster's replicated log. Raft is similar to Paxos, but with the goal of being simpler to implement and understand. For a more complete description, it's worth checking out the original paper by Diego Ongaro and Jon Ousterhout.
raft consensus paxosA reference k/v store based upon cruise. It's the javascript analog to goraft/raftd. You can query keys from the followers and they should stay in sync with any new keys posted to the leader.
cruise raft paxos kvGolang implentation of Paxos consensus algorithm. This project is still under development. I have tried to keep the algorithm implementation completely decoupled so you can just import from github.com/RichardKnop/paxos/paxos and extend Acceptor, Proposer and Learner structs.
paxosCASPaxos is a wait-free, linearizable, multi-writer multi-reader register in unreliable, asynchronous networks supporting arbitrary update operations including compare-and-set (CAS). The register acts as a replicated state machine providing an interface for changing its value by applying an arbitrary user-provided function (a command). Unlike Multi-Paxos and Raft which replicate the log of commands, CASPaxos replicates state, thus avoiding associated complexity, reducing write amplification, increasing concurrency of disk operations and hardware utilization. The paper describes CASPaxos, proves its safety properties and evaluates the characteristics of a CASPaxos-based prototype of key-value storage.
caspaxos paxosPaxos is a protocol for solving consensus through state machine replication in an asynchronous environment with unreliable processes. It can tolerate up to F concurrent replica failures with 2F+1 total replicas. This consensus protocol is then extended with a stable leader optimization to a replication protocol (commonly referred to as Multi-Paxos) to assign global, persistent, total order to a sequence of client updates. The protocol works by having multiple replicas work in parallel to maintain the same state. This state is updated on each request from a client by each replica, allowing it to be automatically replicated and preserved even in the case of failures. The basic algorithm was famously described by Leslie Lamport in his 1998 paper, The Part-Time Parliament. It was later clarified in his follow-up paper from 2001, Paxos Made Simple. It does so by breaking the global command slot space into subspaces, each owned by a single replica. Replicas then attach ordering constraints to each command while voting on them to allow for proper ordering during command execution. For more intuition on how this works, check out the presentation given at SOSP '13, and for a full technical report and proof of correctness of the protocol, check out A Proof of Correctness for Egalitarian Paxos.
egalitarian paxos consensus replication distributed-systemsA curated resources of raft consensus algorithm and its friends. Beside Raft, there are some other consensus algorithms that are frequently discussed.
raft raft-consensus-algorithm consensus-algorithm consensus paxos distributed-systemsKshaka is a Go implementation of the CASPaxos consensus protocol. It's name is derived from the Kenyan hip hop group, Kalamashaka. This is work in progress, do not use it anywhere you would regret. API will change over time.
caspaxos paxos raftMy multi-paxos service implement :-)
multi-paxos paxosThe fantastic experiment for education on distributed system, including the ubiquitous communication over the Web, classic techniques for scaling and efficient storage and a popular application case, aims to incredibly capture the essences of the difficult but useful distributed system theory, such as the two-phase protocol and the paxos consensus protocol. It covers the common technique issues almost in all the distributed systems, including communication, data consistency, parallism, concurrence, replication. The techniques take attentions on the performance, fault-tolerance, scaling and user-friendliness, which are important metrics for distributed systems. Every package has its unit test for functions and performance. (TODO) The final system will be tested in a container-style way.
http education distributed-systems consistency transaction consensus graduate-course paxos keyvaluestore twophasecommit
We have large collection of open source products. Follow the tags from
Tag Cloud >>
Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
Add Projects.