技术译文 | MySQL 8.1.0 推出 InnoDB Cluster 只读副本
作者:Miguel Araújo 高级软件工程师 Kenny Gryp MySQL 产品总监
本文来源:Oracle MySQL 官网博客
* 爱可生开源社区出品。
1前言
MySQL 的第一个 Innovation 版本[1] 8.1.0 已经发布,我们将推出 MySQL InnoDB Cluster 只读副本。
在 MySQL InnoDB Cluster 中,副本(Secondray)节点的主要目的是在主(Primary)节点发生故障时做好切换替代(高可用性)。这是由 MySQL 组复制(MGR)配合完成的。副本节点的另一个用途是减少主节点的只读工作负载。
现在,可以向数据库拓扑结构中添加异步副本节点这些副本节点可以用于:
- 将读流量从主节点或者其他副本节点转移过来,分担它们的读压力。
- 设置专门用于读取的副本节点。
- 设置专门用于报表等特定目的的副本节点。
- 通过添加多个读取副本节点,实现超出其他副本节点处理能力范围的扩容。
MySQL InnoDB Cluster 会管理这些副本节点的操作,包括:
- MySQL Router[2] 会自动重新导向流量。
- MySQL Shell 负责配置、初次预配(使用 InnoDB Clone 插件[3])。
- 复制配置和任何想要进行的拓扑结构变更。
只读副本节点也可以与 MySQL InnoDB ClusterSet[4] 配合使用,这个模式下,副本节点可以添加到主集群或副本集群中。
MySQL Router 会识别这些读取副本节点,并根据一些配置选项将读流量重新导向到它们。这些读取副本节点会从主节点或者其他副本节点进行复制,如果复制中断或成员变更(例如新主节点选举),它会自动重新连接到另一个成员。