I really wanted to avoid it, but I guess there's no way out of it now.
I really need a simple, scalable (up and down) content-oblivious distributed binary log. I could not find anything that would fit my needs exactly, and I find it a little surprising. So I started to build it myself.
Why do I need it? When building a distributed system it's often easiest to model everything in a event-driven way. Events happen, and get recorded, some other parts of the system follow events and do some actions and/or produce new events.
It is possible to build such a system on top of existing databases and solutions, but it always comes with plenty of overheads and pitfalls. And at the end of the day - an append only binary log is like the simplest, most straightforward data structure there can be, right? All I need is somewhere to store ordered list - how hard can it be? So maybe even I can get it done - first in a single-node version, and then just add Raft clustering.
Anyway - I don't have much yet, other than some design ideas and initial commit: GitHub - rustshop/loglog: Distributed, fault tolerant, strongly consistent, performant (event)log in Rust . If someone is interested or has any feedback, please let me know.