Massive parallel - atomic consistent isolated durable
kephra.de
kephra.de
It's a pretty cool architecture, but the major drawback is that you're making events quite expensive with ACID guarantees.
The more expensive events are, the less you can rely on them as a communication primitive. What if I want to submit a logging or tracing event? I don't really need ACID guarantees in that context, and it's a heavy burden on the system.
It might be nice if events had optional tags that defined what sort of policies to enact on them. One could say, "I don't need ACID guarantees on me."
I like the idea of tagged events - flagging events so that your event queue package could handle the heavy lifting on how strongly to enforce ACID guarantees by event seems like the kind of feature that would make for happy hacking in distributed systems.