I’ve been working on rabble for a while now and figured I’d announce it here finally. There is still quite a bit to do, but it’s already in use in another project and is pretty well documented and tested, (although the documentation is a bit out of date). Rabble provides a lightweight process architecture that enables writing distributed algorithms. It handles all the clustering of nodes and message passing between them, including serialization, allowing the user to focus on the algorithms themselves.
What makes rabble different from things like Erlang and Akka, despite it not being nearly as full featured, is that it’s written in rust and messages are statically typed. In order to allow extensible messages, the static type is a parameterized Enum.
Please take a look and let me know what you think. I’d be happy to get any feedback or help collaborate on adding features or bugfixes.