EPaxos, transactions and the next 700 Paxos systems
rystsov.info
rystsov.info
That being said, I enjoyed the algorithm for generating the next Paxos algorithm. That's fun, but I'm still not sure that I really understood what the author was saying.
Yet the idea is very simple. Instead of putting say dictionary behind Paxos/Raft and coordinate update to this state, it makes sense to have dictionary of different Paxos/Raft instances and to use transaction to coordinate multi-updates.
It doesn't really matter what exactly the paxos value is, so you can put the whole multi-object update in 1 paxos value.
I suggest to have dictionary of Paxos/Raft which orders updates only to its element and to use transactions to do multi-object updates.