陈俊超-腾讯-微信后台开发高级工程师-PhxSQL设计与实现_第1页
陈俊超-腾讯-微信后台开发高级工程师-PhxSQL设计与实现_第2页
陈俊超-腾讯-微信后台开发高级工程师-PhxSQL设计与实现_第3页
陈俊超-腾讯-微信后台开发高级工程师-PhxSQL设计与实现_第4页
陈俊超-腾讯-微信后台开发高级工程师-PhxSQL设计与实现_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

超•个人介绍•背景•思路•个人信息•个人经历计和开发•查看附近的人,摇一摇,朋友圈•微信群聊,关系链hxSQLeee•异步复制无法保证主备数据一致SemisyncSemisyncccommit•/bug.php?id=80395•hIps:///browse/MDEV-162r–Master重启导致主备数据不一致–Master重启导致幻读–Master切换导致调用端分裂–缺乏自动选主机制–要强一致,不做主备切换–借助MHA实现高可用,容忍主备数据不一致BinlogSvrBinlogSvrcommitcommitrrSlaveSlaveMySQMySQLPhxsyncDataRead/WriteDataReplica_onEleconQuery•请求透传•非Master节点收到的请求透传给Master节点•Master节点收到的请求直接透传给MySQL•Master节点收到的请求透传给非Master节点•非Master节点收到的请求直接透传给MySQL•请求透传ySQL•完全兼容MySQLSQL–透传源IP兼容IP权限设置异步代码的性能•项目地址–hIps:///tencent-wechat/libco过同一个连接通信被rollback•hIp:///doc/refman/5.6/en/innodb-lbackhtml•Proxy使用1:1连接模型能实现完全兼容–权限管理基于(用户,源IP)对ketIPADHeadUsernane:xxxPasswordHeadUsernane:xxxPassword:xxxSrcIP:•重启时校准本地binlog•正常运行时提交binlog到BinlogSvrrebinloginitbinlog–使用原有的acer_flush接口提交binlog•hIp:///bug.php?id=83158•可靠日志存储SQLMasterbinlog点LSlavebinlog•维护Master信息•Paxos协议–保证各节点的数据一致–保证集群机器超过一半存活还能服务•Binlog存储–通过校验IP防止非Master提交–通过乐观锁防止拜占庭错误•兼容MySQLSlave复制协议–BinlogSvr支持MySQL的原生复制协议•Master管理–选举和续期s•项目地址–hIps:///tencent-wechat/phxpaxos,新之后jectLast=100,now=10AcceptLast=100,now=10AcceptId=1001Last=99,now=100Reject!binlogPhxBinlogSvrPhxBinlogSvrPhxBinlogSvrogterastermasterCheckMasterstatus:•IsMaster_meout?•HasMySQLexecutedallbinlogs?•IsProxyCheckMasterstatus:•IsMaster_meout?•HasMySQLexecutedallbinlogs?•IsProxyStartvo_ngCCheckMasterstatusYYCheckMasterstatusCheckMasterstatusCheckMasterstatus:•IsMySQLhealthy?•IsProxyrunning?点的数据(MySQLbinlog,inlogsvrMySQLbinlog据的md5sumaxoschecksuminlogsvrchecksum数据来源:hIp:///2016/10/11/PhxSQL-FAQ•MySQL版本•Percona5.6.31-77.0•机器信息•CPU:Intel(R)Xeon(R)CPUE5-24200@1.90GHz*24•Memory:32G•Disk:SSDRaid10•PingCosts•Master->Slave:3~4ms•Client->Master:4ms•工具和参数•sysbench•--oltp-tables-count=10--oltp-table-size=1000000--num-maxrequests000--report-interval=1--max-time=200200线程并发调用-QPS对比图PhxSQLMySQL4633447528507640555076405500线程并发调用-QPS对比图PhxSQLMySQL10592812153582607072MySQLPhxSQLMySQL500线程并发调用-平均耗时对比图PhxSQLMySQL192.93270.384.584.1760.4170.64.584.17•QQ邮箱(域名邮箱)域名记录服务器–读写比为20:1•机器配置–intel(r)xeon(r)cpux3440@2.53ghz8core,8gram•性能优于半同步•完全兼容MySQL•适配MySQL5.7人phxteam@Github地址:hIps:///tencent-wechat/phxsql•重启时执行半同步•重启时直接删除PendingBinlog•重启时直接提交PendingBinlog•重启时校准binlog数M删aster重启,除Pending

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论