What crates or libs do rust programmers recommend when programming distributed systems?

I came across a project called Hydro, which seems to offer some fundamental building blocks of distributed systems. In addition to this projects, do any other similar projects recommended if I want to build a project by exploiting those crates or libs, particularly heartbeat, snapshot, and so on? Or do Rust programmers prefer building their own?

Many thanks.

Fluvio is another stream processing framework, written in and for Rust, for building dataflow-oriented distributed systems. Both are similar to Apache Flink, if you are familiar with it. Neither project looks to provide much in terms of APIs or algorithms for you to build your own distributed systems with them. I really haven't seen much high-availability distributed programming done in Rust and I'm not aware of any projects aiming to provide something like OTP for the Rust ecosystem.

2 Likes

I'm extremely new to both Rust and embedded..

I'm a fair C developer, as well as a whole bunch of script-, interpreted- and JIT languages behind me, so I'm not a novice programmer..

I've always shunned "hitting the hardware" (as in Assembler etc!), because .. well, moving things around in memory and registers is just .. awful!! :smiley: :smiley:.

But Rust is the only language I've seen in the last thirty (!) years - and I've tested them all - that actually impressed me!

So wanted to learn it, but I can't learn something if I don't have a real-world purpose. So I invented one, one that I've actually been thinking about for some time (before Rust even existed!).

But "hitting the hardware" like all other frameworks seem to do, OR they're obfuscate or simplify to much or isn't potent enough , so the project was kept just in the very far reaches of the back of my mind..

Then I stumbled across Embassy and it seem to do EVERYTHING I could ever hope for!

I'm still trying to figure things out, the documentation isn't always the best (at least not for me, a beginner in Rust/Embedded), but there's plentiful of examples, and from where I'm sitting, it is EXTREMELY (!!) potent.

I'm now using it to run LEDs, Buttons, Actuators, Dual-core (yay, just got that working earlier today actually :slight_smile:), reading/writing to the flash drive (although that's still flakey) etc.

All in one big app - "The Big Kahuna" I call it :slight_smile:. That's from knowing NOTHING about any of that, in a few months (although I took a sabbatical from it last year, not a good year for me :frowning: ).

It's well worth looking at!

1 Like

Apart from looking into those you mentioned, I think I will also start building my own so to gain some familiarity with Rust. Later I might have better ideas. Thanks for the input!

Thank you for the information. The solution is given to jofas' reply, because I am looking for more distributed systems related libraries. I probably did not explain very well in my post. Thank you again for the suggestions!