《MySQL异步复制延迟解决的架构设计与运维架构.pptx》由会员分享,可在线阅读,更多相关《MySQL异步复制延迟解决的架构设计与运维架构.pptx(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MySQLMySQL异步复制延迟解决方案与运维架构异步复制延迟解决方案与运维架构丁奇淘宝淘宝20122012华东架构师大会华东架构师大会1 1MySQLMySQL主从同步基本流程主从同步基本流程2 2存在延迟的原因存在延迟的原因3 3官方的改进和局限官方的改进和局限4 4MySQL-Transfer MySQL-Transfer 设计思路设计思路5 5MySQL-TransferMySQL-Transfer优化细节与优化效果优化细节与优化效果6 6应用场景和业务限制应用场景和业务限制7 7引入引入MySQL-TransferMySQL-Transfer的的MySQLMySQL数据库运维架构数据
2、库运维架构主要内容:主要内容:MySQLMySQL主从同步基本流程主从同步基本流程MasterSlaveMySQLMySQL主从同步延迟原因主从同步延迟原因123456什么是延迟什么是延迟2 2和和6 6的时间间隔的时间间隔为什么延迟:为什么延迟:2 2、5 5的文件更新通知?不是的文件更新通知?不是 3 3的网络延迟?的网络延迟?不是不是 4 4的写盘延迟?的写盘延迟?不是不是等等。等等。1 1和和2 2之间那个箭头怎么不画出来我们不关心之间那个箭头怎么不画出来我们不关心MySQLMySQL主从同步延迟原因主从同步延迟原因都是箭头,你咋这么苗条呢?都是箭头,你咋这么苗条呢?延迟原因:延迟原因
3、:主库多线程并发更新主库多线程并发更新 从库单线程串行更新从库单线程串行更新MySQLMySQL主从同步延迟原因主从同步延迟原因MySQLMySQL主从同步延迟原因主从同步延迟原因说胖就胖了啊。说胖就胖了啊。解决方案:解决方案:从库变成多线程更新从库变成多线程更新反问一句:反问一句:三秒钟变格格么。有那么好三秒钟变格格么。有那么好MySQLMySQL为什么不支持?为什么不支持?MySQLMySQL主从同步延迟原因主从同步延迟原因胖是有代价的胖是有代价的直接多线程存在的问题:直接多线程存在的问题:语句顺序无法保证语句顺序无法保证insertinsert和和updateupdate调换有什么问题?
4、调换有什么问题?1 1MySQLMySQL主从同步基本流程主从同步基本流程2 2存在延迟的原因存在延迟的原因3 3官方的改进和局限官方的改进和局限4 4MySQL-Transfer MySQL-Transfer 设计思路设计思路5 5MySQL-TransferMySQL-Transfer优化细节与优化效果优化细节与优化效果6 6应用场景和业务限制应用场景和业务限制7 7引入引入MySQL-TransferMySQL-Transfer的的MySQLMySQL数据库运维架构数据库运维架构主要内容:主要内容:MySQL5.6MySQL5.6版本主从同步官方改进与局限版本主从同步官方改进与局限主要思
5、路:主要思路:按库分线程按库分线程主要策略:主要策略:能并行的并行,不能并行的拉倒能并行的并行,不能并行的拉倒存在问题:存在问题:并行度并行度MySQL5.6MySQL5.6版本主从同步官方改进与局限版本主从同步官方改进与局限关于并行度的讨论:a)一般一个实例上有几个数据库?b)跨数据库事务的处理除了库级别,还有哪些级别?为什么官方不支持更细粒度?1 1MySQLMySQL主从同步基本流程主从同步基本流程2 2存在延迟的原因存在延迟的原因3 3官方的改进和局限官方的改进和局限4 4MySQL-Transfer MySQL-Transfer 设计思路设计思路5 5MySQL-TransferMy
6、SQL-Transfer优化细节与优化效果优化细节与优化效果6 6应用场景和业务限制应用场景和业务限制7 7引入引入MySQL-TransferMySQL-Transfer的的MySQLMySQL数据库运维架构数据库运维架构主要内容:主要内容:MySQL-Transfer MySQL-Transfer 设计思路设计思路变个身变个身MySQL-TransferMySQL-Transfer 设计思路设计思路回到刚才的一个问题为什么官方不支持更细粒度?为什么官方不支持更细粒度?Transfer的使用前提:row-base binlog(why)pk or unique-key(why)从库的 for
7、eign-key check=off(why)slave_skip_errors=1062,1032(why)应该是解决了应该是解决了 从此从此MasterMaster和和SlaveSlave过着幸福的生活?过着幸福的生活?太太navenave了。了。客户说:客户说:MySQLMySQL主从同步解决方案主从同步解决方案不允许主角变身!不允许主角变身!MySQL-Transfer MySQL-Transfer 设计思路设计思路MySQLMySQL主从同步解决方案主从同步解决方案MySQLMySQL主从同步解决方案主从同步解决方案MySQL-Transfer的两种模式Slave模式Transfer
8、模式(备注:取名叫Transfer的原因)使用Transfer模式新增的限制主库单个语句的binlog不能超过1G(why)从库上设置max_allowed_packet=1GTransferTransfer方案性能方案性能原始性能原始性能效果对比效果对比1 1MySQLMySQL主从同步基本流程主从同步基本流程2 2存在延迟的原因存在延迟的原因3 3官方的改进和局限官方的改进和局限4 4MySQL-Transfer MySQL-Transfer 设计思路设计思路5 5MySQL-TransferMySQL-Transfer优化细节与优化效果优化细节与优化效果6 6应用场景和业务限制应用场景和
9、业务限制7 7引入引入MySQL-TransferMySQL-Transfer的的MySQLMySQL数据库运维架构数据库运维架构主要内容:主要内容:使用Transfer模式多源复制敬请关注multi-source引入引入MySQL-TransferMySQL-Transfer的的MySQLMySQL运维架构运维架构使用Transfer模式双M引入引入MySQL-TransferMySQL-Transfer的的MySQLMySQL运维架构运维架构双M模式的退化:循环写问题解决方法M/S小改Binlog=off1.MySQL-Transfer是一个基于MySQL的patch2.加速主从数据同步速度,减少/消除主从复制延迟3.可以使用Slave模式或Transfer模式4.行级并发、支持事务5.使用时需要遵循一些限制小结小结华东架构师大会的组委会添加信息u GTI And Viridentu 世纪互联u AdMaster的创始人洪倍u 联想员工李鹏程u 中国(上海)创业者公共实训基地2012华东架构师大会感谢的协办单位和捐助个人:预告信息:预告信息:u 2013年5月18日,将于上海举办2013华东数据库技术大会u 人数规模:500人u 会务合作,联系人:金官丁,联系电话:136 6166 8096,邮箱地址:,新浪微博:mysqlopsQ&A
限制150内