| I'm by no means an expert on any of this stuff, but: > They only require one other replica (as opposed to a quorum) to be reachable from the master for the master to continue acknowledging writes (from your comment) > Orchestrator considers a number of variables during this process and is built on top of Raft for consensus... (from the article) Doesn't quite make sense to me. Doesn't raft require the master to wait for a quorum before committing writes? I understood it as a pretty important aspect. > A candidate must contact a majority of the cluster in order to be elected, which means that every committed entry must be present in at least one of those servers (from the raft paper [1]) I understood that the bold is only true if commits are acknowledged by the quorum Edit: I'm not implying your post is incorrect, just trying to understand how the two fit together [1]: https://raft.github.io/raft.pdf |
Different kinds of masters. I've forced myself to always include the application if terminology gets reused across applications in a discussion. As far as I understand this>
- The mysql-master only commits an sql-level-transaction if a mysql-replica acknowledges replication of the transaction. This avoids data loss during a failover.
- The orchestrator-nodes elect an orchestrator-master via raft mechanics.
- After this, the orchestrator-master starts pondering about the mysql-master / mysql-replica situation and potentially promotes the most current mysql-replica to mysql-master.
- This promotion requires writes on an orchestrator/raft level, which in turn requires the orchestrator-master to get an acknowledgement from the orchestrator-quorum.