- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MySQL高可架构设计方案.docx
MySQL高可架构设计方案2.1.高可用环境高可用(High Availability)有两种不同的含义,在广义环境中,是指整个系统的高可用特性,在狭义方面,一般指主机的冗余接管,如主机HA。我们目前的产品及相关系统平台主要都倾向于广义上的高可用。一个良好的高可用环境,不仅仅能避免系统本身的问题,还能防止天灾人祸,并且有一个简单可靠的系统维护方法,同时能在最小的成本资源下产生最大的效益。高可用的计算方法一般以年在线率来计算,例如规定整个系统一年之中的可用环境要达到99.95%,那么24*365*(1-99.95%)= 4.38小时(包括计划内维护时间)。另外,子系统的可用性一定会高于整个系统的可用性,如整个系统的可用性为99.95%,则对于子系统,可用性可能就是要求达到99.999%。图 2-1 高可用级别对照表在实际产品开发中,很难达到100%的在线能力,即使真的达到,代价会非常大。一般能达到99.9%以上的可用性的环境,都可以认为是比较高的可用环境。图 2-2 收益与成本在公司收益与投入成本计算方面取得一个平衡,则是最终所希望的在线效率,但是收益与成本的计算方法则是决策者与实施者需要着重考虑的问题,适合自己的高可用环境即是最好的,不能盲目地追逐过高的可用性。2.2.主要风险在一个高可用的环境中,会遇到各种风险,主要的风险如下??系统失败或崩溃(System faults and crashes)??应用层或中间层错误(Application and middleware failures)??网络失败(Network failures)??介质失效,一般指存放数据的媒体介质故障(Media failures)??人为失误(Human Error)??分级与容灾(Disasters and extended outages)??计划宕机与维护(Planned downtime, maintenance and management tasks)2.3.面临的主要问题使用MySQL+PC服务器来构建高可用的MySQL集群会遇到一些主要的问题,这些问题如果忽略了或者没有去解决好,是会对高可用造成影响的,设置直接影响到整个产品及系统的稳定运行。??MySQL会丢数据吗??MySQL自身的稳定性怎么样??MySQL的性能怎么样??MySQL如何快速自动切换??MySQL如何进行可靠的容灾??MySQL主备库数据的一致性校验??MySQL备库同步延迟,备库跟不上主库??MySQL在线DDL锁表(阻塞写)怎么解决??相比商业软件成熟的解决方案,MySQL+PC架构其高可用性如何保证3. MySQL数据可靠性3.1.背景??MySQL实例Down掉会不会丢数据??MySQL服务器Down掉(比如断电、CPU、内存损坏等)会不会丢数据??硬盘坏掉会不会丢数据说明:MySQL丢数据更多地是指,MySQL采用PC服务器,PC服务器存在硬件损坏的可能性(比如CPU、内存、硬盘坏掉),从而导致丢数据。3.2.解决方案1、传统思路共享存储2、非共享存储思路可以分开对MySQL和应用两个方面进行一定的设置和处理,相当于是双保险的方式,使数据不丢失。对于MySQL??设置innodb_flush_log_at_trx_commit = 1设置为1:每个事务日志都Flush到磁盘设置为2:每个事务刷到log file中,每秒Flush 到磁盘??设置sync_binlog = 1设置为0:事务提交后,MySQL不做fsync之类的磁盘同步命令刷新binlog_cache中的数据到磁盘,而让文件系统自行决定什么时候同步,或Cache满了后才同步到磁盘。设置为1:事务提交后,MySQL会将binlog_cache中的数据强制写入磁盘,是最安全的设置。??设置innodb_support_xa = true设置为1:是否支持分布式事务(默认是打开)设置为0:不支持分布式事务如果确认应用中不需要使用分布式事务,可关闭该参数??Slave远程binlog通过Slave来保证数据不丢失,binlog实时传送到远程Slave,如果主备库之间的网络较好的话,一般的(依赖于RTT),备库的时间基本上在毫秒之内。??半同步复制(Semi-Sync)半同步复制总体上可以保证数据的零丢失,但是可能对性能会有少许影响,会造成约20%的TPS下降。说明:1、innodb_flush_log_at_trx_commit、sync_binlog、?innodb_support_xa三个参数的设置在保证数据安全性和可靠性的同时,对性能是有一定的牺牲的。innodb_flush_log_at_trx_commit、sync_binlog都为0时,性能比其中一个设置为1高出约几百倍;innod
您可能关注的文档
最近下载
- 人乳头瘤病毒感染护理.pptx VIP
- 压疮品管圈成果汇报PPT幻灯片.ppt VIP
- 车险承保方案.pdf VIP
- 中华民族共同体概论教案合集(第一讲-第十六讲)附《中华民族共同体概论》课程大纲.doc VIP
- “中华民族共同体概论”课程教学与建设关键问题探讨.docx VIP
- 诸侯纷争与变法运动【课件】.pptx VIP
- 中国高血压防治指南(2024年修订版)_中国高血压防治指南修订委员会__.pdf VIP
- “扬子石化杯”2024年第38届中国化学奥林匹克(江苏赛区)初赛化学.pdf VIP
- 民事诉讼法中案外第三人对执行的异议之诉.pdf VIP
- “扬子石化杯”2024年第38届中国化学奥林匹克(江苏赛区)初赛化学试卷含答案.pdf VIP
文档评论(0)