Introducing Datacake, the batteries included framework for building distributed systems in Rust.

290 points ChillFish8

Hello! I'm really excited to announce the initial release of Datacake which is a project I've been working on for the last several months!

You can read the more in-depth blog post here: https://chillfish8.ghost.io/introducing/

You can find the code here: https://github.com/lnx-search/datacake

Otherwise, if you just want the TL;DR here's what it brings to the table:

\- Drift-resistant, distributed hybrid logical clock.
\- Cluster membership manager built on top of chitchat.
\- Data-center aware node selection - Prioritises nodes which are outside of the current node's availability zone (useful for large clusters)
\- Adjustable consistency levels for performing operations.
\- Extend the cluster system with one trait.
\- A battery included embeddable eventually consistent KV store.
\- A fast, actor-like RPC framework using rkyv, supporting zero-copy RPC.

The goal is to make building distributed systems in Rust easy and unified, I really like how things like the RabbitMQ implementation works with Erlang and want to build some which give an equal level of ease of use providing a common interface and set of tooling rather than having to pick one system and hand rolling everything.

If you like what you see maybe consider giving the repo a star or contributing! If you want to learn more about how this works I'll be publishing a more in-depth blog post about the internals later this year.