热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

mysql缩容_MySQL分布式架构扩缩容的初步设计

MySQL分布式架构扩缩容的初步设计MySQL分布式架构的扩缩容是一个很有意思的话题.严格的说,我们所说的这种架构方案是一种伪分布式架构,我们就做下统称.重点是扩缩容的思路上.如果

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

MySQL 分布式架构的扩缩容是一个很有意思的话题. 严格的说, 我们所说的这种架构方案是一种伪分布式架构, 我们就做下统称. 重点是扩缩容的思路上.

如果一套环境的主从完整, 分为多个逻辑分片的情况下, 大体是这样的架构.

这个架构采用了 4 个物理分片, 每个物理分片上有 4 个逻辑分片, 总共有 16 个逻辑分片, 也就意味着一张表被分为了 16 份.

ab7653affab982b574eb7acc55df2e04.gif

对于扩容来说, 是优先考虑主库写入为主, 所以我们的扩容可以是 2N 的规模来扩容, 比如 4 个物理分片, 可以扩容为 8 个物理分片, 大体的架构和分布如下, 这个时候从库顶上来做了主库.

ab7653affab982b574eb7acc55df2e04.gif

从扩容的角度来说, 这也就是我们预期要做的事情, 4 个变 8 个, 8 个变 16 个. 一套环境按照设定的分片规模可以扩容两次.

而缩容怎么来做呢, 我们需要考虑得更细致一些, 所以我就截取了物理分片 1 的一个相对详细的数据复制关系图.

扩容前, 分片节点上的 4 个逻辑分片都是 active 状态, 都可以写入数据, 从库是 inactive, 只负责数据同步.

ab7653affab982b574eb7acc55df2e04.gif

扩容后, 原本的 db1,db2 为 active 状态, 而 db3,db4 在原来的 Slave 节点上是 active 状态

ab7653affab982b574eb7acc55df2e04.gif

这个基础上, 我们需要保证的就是将原本隔离的节点数据统一为 Master 端 active 状态. 这个过程说起来容易, 操作起来就是一个难点了.

ab7653affab982b574eb7acc55df2e04.gif

这个事情如果相对平滑的完成, 其实整个分布式集群的管理就不在话下了.

来源: http://database.51cto.com/art/201812/588219.htm



推荐阅读
  • 本文探讨了MariaDB在当前数据库市场中的地位和挑战,分析其可能面临的困境,并提出了对未来发展的几点看法。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 该平台旨在为大型企业提供一个高效、灵活且可扩展的分布式微服务架构解决方案。它采用模块化、微服务化和热部署的设计理念,结合当前最先进且无商业限制的主流开源技术,如Spring Cloud、Spring Boot2、MyBatis、OAuth2和Element UI,实现前后端分离的系统管理平台。 ... [详细]
  • 5G至4G空闲态移动TAU流程解析
    本文详细解析了用户从5G网络移动到4G网络时,在空闲态下触发的跟踪区更新(TAU)流程。通过N26接口实现无缝迁移,确保用户体验不受影响。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文探讨了2012年4月期间,淘宝在技术架构上的关键数据和发展历程。涵盖了从早期PHP到Java的转型,以及在分布式计算、存储和网络流量管理方面的创新。 ... [详细]
  • Navicat Premium 15 安装指南及数据库连接配置
    本文详细介绍 Navicat Premium 15 的安装步骤及其对多种数据库(如 MySQL 和 Oracle)的支持,帮助用户顺利完成软件的安装与激活。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文详细介绍了Git分布式版本控制系统中远程仓库的概念和操作方法。通过具体案例,帮助读者更好地理解和掌握如何高效管理代码库。 ... [详细]
  • 探讨架构师在项目中应如何平衡对产品的关注和对团队成员的关注,以实现最佳的开发成果。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
author-avatar
小遥2502881765
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有