For the cloud environment, we hope MySQL cluster can do the failover and choose the new master node by the instance-self automatically, without third-party middleware. So we built the Raft protocol inside MySQL.
In MySQL-Raft version, every cluster usually has three nodes, one master and two slaves, but we can support more nodes. When master node is down, the cluster can choose the new master by Raft Protocol, and use Flashback to rollback the committed transactions if needed, to make sure all of the nodes are the same.
I work as a Staff Database Engineer for Alibaba Cloud, have more than 10 years experiences in infrastructure software, especially for Linux and PostgreSQL. After join Alibaba Cloud, I begin to work on MySQL kernel, and be the main developer of MySQL-Raft version.
Guangchao Bai is a Staff Database Engineer for Alibaba Cloud, and has more than 10 years experiences in infrastructure software, with much of time concentrated on PostgreSQL, MySQL, Informix and related database technologies. Currently, he works on MySQL kernel, and is the main developer of MySQL-RAFT version.