Caspax
An Elixir implementation of the CASPaxos distributed compare-and-set KV.
Currently incomplete, but the main portion of the protocol is implemented for erlang nodes. Test with mix run test.exs.
Still to do: grow/shrink cluster, deletion, GC
Related reading:
- https://arxiv.org/abs/1802.07000
- https://github.com/peterbourgon/caspaxos
- https://github.com/tschottdorf/caspaxos-tla
Installation
If available in Hex, the package can be installed
by adding caspax to your list of dependencies in mix.exs:
def deps do
[
{:caspax, "~> 0.1.0"}
]
endDocumentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/caspax.