cets
khepri
cets | khepri | |
---|---|---|
1 | 3 | |
13 | 307 | |
- | 3.6% | |
9.2 | 8.1 | |
5 days ago | about 1 month ago | |
Erlang | Erlang | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cets
-
Ask HN: Good examples of fault-tolerant Erlang code?
Making cluster fault tolerant is an art on its own in Erlang ;)
Riak Core is extremely cool, but Riak is dead by now. It was a child of the times when NoSQL was cool. Still, basho code is interesting to read. (https://github.com/basho/riak_core)
Self-ads: we've tried to remove Mnesia from our project, HN post incoming, once the library is prettified and tested hard (https://github.com/esl/cets).
khepri
-
The Erlang Runtime System
Erlang/OTP doesn't handle leader election, and by itself is bad at handling netsplits.
There is https://github.com/rabbitmq/ra which is a Raft implementation in Erlang that is Jepsen-tested. You could use it to build "etcd in Erlang", or https://github.com/rabbitmq/khepri which is built on top of Ra.
-
Khepri is a tree-like replicated on-disk database library for Erlang and Elixir
https://rabbitmq.github.io/khepri/ has a bit more information on why you might want to use this, from what I can understand. It's a bit over my head. I guess its sort of simpler to manage a bunch of data on a disk vs a regular db (when not considering that just a bunch of data on disk), mostly around network issues?
What are some alternatives?
partisan - High-performance, high-scalability distributed computing for the BEAM.
brod - Apache Kafka client library for Erlang/Elixir
observer_cli - Visualize Erlang/Elixir Nodes On The Command Line
Binbo - Chess representation written in Erlang using Bitboards, ready for use on game servers
ra - A Raft implementation for Erlang and Elixir that strives to be efficient and make it easier to use multiple Raft clusters in a single system.
vernemq - A distributed MQTT message broker based on Erlang/OTP. Built for high quality & Industrial use cases. The VerneMQ mission is active & the project maintained. Thank you for your support!
CouchDB - Seamless multi-master syncing database with an intuitive HTTP/JSON API, designed for reliability