4 ms·
Look at the Raft protocol. In general you’d rather not integrate at the protocol layer; it’s standard to use a consistent store like etcd that implements Raft f
by theptip 3y ago
Look at the Raft protocol. In general you’d rather not integrate at the protocol layer; it’s standard to use a consistent store like etcd that implements Raft for the coordination/data that needs to be serializable.
(Kubernetes uses etcd so it scales pretty well for a strongly-consistent k/v store.)
You said “multiple datastores” so I’m assuming you have heterogenous data and something like CockroachDB isn’t an option.
> I'm a beginner in this topic and I find this topic interesting.
Not trying to gatekeepe but rolling your own is dangerous. See https://aphyr.com/ https://aphyr.com/ for the gold standard in testing (great educational material). You can use Jepsen to test your distributed systems. But better to just use datastores that Kyle has shown are solid.
- samsquire 3y agoThanks for your reply. I've experimented with a toy Raft implementation but I haven't Jepsen tested that and it's incomplete I did write a Jepsen test for a different eventually consistent protocol which understandably fails the linearizability test because I'm still learning - eventually consistent is not linearizable. https://GitHub.com/samsquire/eventually-consistent-mesh https://GitHub.com/samsquire/eventually-consistent-mesh I want to have my cake and eat it too. Scalability and consistency.
- deleted 3y ago[deleted]