当前位置: 首页 > 科技观察

MySQL分布式架构扩缩容初步设计

时间:2023-03-12 21:37:45 科技观察

MySQL分布式架构扩缩容是一个很有意思的话题。严格来说,我们所说的架构方案是一种伪分布式架构,所以统称为它。重点在于缩放的思想。如果一个环境的主从是完整的,分为多个逻辑片,大概就是这样的架构。该架构使用4个物理分片,每个物理分片有4个逻辑分片。一共有16个逻辑分片,也就是说一张表被分成了16份。对于扩容,优先写主库,所以我们的扩容可以做到2N的规模。例如4个物理分片可以扩展为8个物理分片。大体架构及分布如下:此时主库是从库顶做的。从扩容的角度来说,这是我们期望的,4变8,8变16,一个环境可以根据设置的分片大小扩容两次。至于如何做缩容,我们需要考虑的更周全,所以截取了一张比较详细的物理分片1的数据复制图,在扩容之前,分片节点上的4个逻辑分片都是active的,都可以写入数据。从数据库处于非活动状态,只负责数据同步。扩容后,原来的db1和db2处于active状态,而db3和db4在原来的slave节点上处于active状态。我们需要保证的是将原来的孤立节点数据统一为master的活跃状态。这个过程说起来容易,做起来难。如果这件事情完成的比较顺利的话,整个分布式集群的管理就不成问题了。