These are chat archives for atomix/atomix

Jun 2017
Jun 12 2017 07:24
Hello, I'm starting a new distributed application for my company and I want to use atomix for it's distributed queue and lock. But I have a question. When I'm starting 3 replicas cluster on separate VM, and I'm loosing 2 of them, could my clients sessions steel using distributed queues and locks ? I can see in logs that my atomix client spend many to try to reconnect others machines.
Jordan Halterman
Jun 12 2017 20:00

No. Atomix is built on the Raft consensus protocol, which is not intended for high availability but strong consistency (CP). Raft relies on a quorum of the cluster being able to communicate to progress. This ensures that e.g. two processes that are partitioned can't hold a lock at the same time.

If you want unsafe queueing/locking, use Hazelcast 😉

The client is trying to connect because the cluster is unable to progress without a quorum
So the client's all like "which one of you can reach a majority of the cluster?" and the nodes are all like "not me!" "not me!" "not me!"
But no... need a majority to progress
Atomix 2.0 will have some data structures that don't operate on consensus, but won't be done for a few months
And won't include eventually consistent locks anyways