Skip to content

Development Resources

Karsten Gebbert edited this page Jan 13, 2018 · 9 revisions

General Concepts

  • Actors are used extensively throughout the application, even though they are not employed to the extend they are used in Erlang (e.g. with actor networks, monitoring processes etc.)
  • Reader/Writer/State Monads are relevant to some of the ideas behind the RaftMonad at the heart of Raft subsystem
  • QuickCheck (and its FSharp cousin FsCheck) is one of the main ways testing is approached in DiSCo, especially with respect to serialization code

FSharp

Fable & Elmish

  • Fable Elmish is the framework the DiSCo front end is written in

Serialization

  • Flatbuffers are the binary serialization format used for communication between browser, service and clients
  • Yaml is used for persisting data to disk in a human-friendly format

Raft

  • Raft is the consensus algorithm at the heart of DiSCo.

Disruptor

  • LMAX Disruptor describes the approach taken to the central event processing pipeline inside of DiSCo.
  • Disruptor .NET is the port of the Java library used in DiSCo

Clone this wiki locally