InnoDB Cluster wraps MySQL Group Replication in a programmatic environment that enables you easily deploy a cluster of MySQL instances to achieve high availability. In addition, InnoDB Cluster interfaces seamlessly with MySQL Router, which enables your applications to connect to the cluster without writing your own failover process. (1)
An InnoDB Cluster consists of a minimum of 3 nodes with a maximum of 9 nodes.
An odd number of nodes is recommended in order to avoid a split-brain during quorum decisions.
All nodes that are ONLINE and part of the primary partition participate in quorum voting. This includes read-only nodes.
Nodes that are not ONLINE do not particiapte in voting (e.g. RECOVERING, OFFLINE or ERROR).
Each node should exist in a different failure group.
If failure groups are geographically separate (i.e. where latency would impact performance of synchronous replication) then use InnoDB ClusterSet to perform asynchronous replication to a Replica Cluster.
InnoDB Cluster became Generally Available (GA) in December 2016 with version 5.7.17 of MySQL.
MySQL 8.0.11 (April 2018) included major InnoDB Cluster enhancements.
MySQL 8.0.19 (January 2020) introduced InnoDB ClusterSet for multi-site HA.
MySQL 8.0.22 improved automation via MySQL Shell AdminAPI and introduced better MySQL Router integration.