Skip to content

Distributed Systems

Algorithms

Consensus

  • Paxos
  • Raft - Much easier to implement correctly than Paxos.

Information spreading

  • Gossip - Each node passes incoming information to two or more other nodes.

Data structures

Software

RPC

  • Finagle - Developed at Twitter. [Scala]
  • gRPC - Bindings in many different languages.

Service meshes

  • Istio - Can use linkerd or envoy as a service proxy (data plane).
  • Consul -

Data plane

  • Envoy - Developed at Lyft.
  • LinkerD - Version 2 (formerly known as Conduit) is a complete rewrite using Rust and Go. Part of the CNCF. [GO, Rust]
  • Nginx - Not used as much anymore.