AT娱乐平台代理QQ:374476阿里10年分布式数据库技术沉淀,AliSQL X_玖富娱乐丨玖富娱乐平台丨玖富娱乐平台官网
设为首页 - 加入收藏
广告 1000x90
您的当前位置:主页 > 教程 > 数据库 > 正文

AT娱乐平台代理QQ:374476阿里10年分布式数据库技术沉淀,AliSQL X

来源:网络整理 编辑:玖富娱乐平台主管QQ:374476 时间:2017-09-13

【51CTO.com原创稿件】

MySQL 数据库从诞生以来就以简单、易用、开源为主打特点,成为不少开发者首选的数据库系统。阿里集团在 2008 年开始提出"去 IOE"的口号,迈入了 MySQL 数据库的时代。系统使用大量的 MySQL,配合业务的改造替代原有的商业版 Oracle 系统。

根据阿里交易型应用的特点,以及双十一这样业界罕有的需求推动下,我们在官方的 MySQL 基础上增加了非常多实用的功能、性能补丁,打造了 AliSQL 这个 MySQL 分支品牌。

AT娱乐平台代理QQ:374476阿里10年分布式数据库技术沉淀,AliSQL X

时间很快走到 2014 年,随着业务高速的增长,同城主备 AliSQL 部署的方式已经无法满足阿里对可扩展的部署、国际化以及容灾方面的需求。“异地多活”成为了公司应用的新标准。

“异地多活”也给底层的数据库提出了新的容灾要求。传统的 Master-Slave 架构下,主备如果不使用强同步模式就会存在数据丢失的可能,然而强同步下一旦有节点异常则整体不可服务。

而且,这套架构下需要 HA 工具来进行选主的仲裁和控制。过去阿里 DBA 们开发了高效可靠的 HA 以及一整套工具和流程来做主备切换后数据和日志的校验和订正。

我们相信技术的发展能带来更大的运维便利性以及更好的用户体验,以 Google Spanner 以及 Amazon Aruora 为代表的 NewSQL 系统为数据库的数据一致性给出了与以往不同的思路:基于一致性协议搭建分布式的多副本数据库。

AliSQL X-Cluster 介绍

AliSQL X-Cluster(本文中简称 X-Cluster)是阿里巴巴数据库团队推出的兼容 MySQL 5.7,提供数据强一致功能,支持全球部署的分布式数据库集群产品。

说到 AliSQLX-Cluster 就不能不提其分布式核心和一致性协议。

X-Paxos 是阿里巴巴自主研发的一致性协议库,目标是填补市面上高性能、易接入的一致性协议库的空白。而市面上已开源的一致性协议实现,包括 etcd 以及其他厂商等都存在或性能不够或功能上无法满足复杂的现实应用场景需求的问题。

有了 X-Paxos,可基于它打造一套强一致的分布式系统,X-Cluster 是第一个接入 X-Paxos 生态的重要产品,利用 X-Paxos 实现了自动选主,日志同步,集群内数据强一致,在线集群配置变更等功能。

同时 X-Cluster 基于 MySQL 生态,兼容最新版本的 MySQL 5.7,集成了 AliSQL 过去的各种功能增强。MySQL 的用户可以零成本迁移到 X-Cluster 上。

AliSQL X-Cluster 的整体架构

先来看一下 X-Cluster 的基本架构:

上图展示的是一个部署三个实例的 Cluster 集群。X-Cluster 是一个单点写入,多点可读的集群系统。在同一时刻,整个集群中至多会有一个 Leader 节点来承担数据写入的任务。

相比多点写入,单点写入不需要处理数据集冲突的问题,可以达到更好的性能与吞吐率。

X-Cluster 的每个实例都是一个单进程的系统,X-Paxos 被深度整合到了数据库内核之中,替换了原有的复制模块。集群节点之间的增量数据同步完全是通过 X-Paxos 来自驱动,如何复制,从哪个点回放不再需要运维人员或者外部工具来介入。

X-Cluster 为了追求最高的性能,利用 MySQL 的 Binlog 进行深度改造和定制来作为 X-Paxos 的 Consensus 日志,实现了一系列的 X-Paxos 日志接口,赋予 X-Paxos 直接操纵 MySQL 日志的能力。

为了保证集群数据的一致性以及全球部署的能力,在事务提交、日志复制回放以及恢复上,X-Cluster 都进行了重新设计。

事务提交、复制流程

X-Cluster 的复制流程是基于 X-Paxos 驱动 Consensus 日志进行复制。

Leader 节点在事务 prepare 阶段会将事务产生的日志收集起来,传递给 X-Paxos 协议层后进入等待。X-Paxos 协议层会将 Consensus 日志高效地转发给集群内其他节点。

当日志在超过集群半数实例上落盘后, X-Paxos 会通知事务可以进入提交步骤。否则如果期间发生 Leader 变更,prepare 的事务会根据 Paxos 日志的状态进行相应的回滚操作。

相比原生 MySQL,日志传输采用了多线程、异步化、Batching、Pipelining 等优化手段,特别是在长传链路的场景中,效率提升明显。

Follower 节点也使用 X-Paxos 进行日志的管理操作,为提升接收效率,收到 Leader 传递过来的日志以后将日志内容 Append 到 Consensus Log 末尾,Leader 会异步的将达成多数派的日志的消息发送给 Follower。

Follower 的协调者线程会负责读取达成多数派的日志并加以解析,并传递给各个回放工作线程进行并发的数据更新。

www.nyuwp.cn www.tbpel.cn www.liuyifei52.cn www.gtiwc.cn www.mhhzu.cn www.zxibj.cn www.kpfej.cn www.nqqtp.cn www.sihpn.cn www.lqlax.cn www.qgroi.cn www.wobnq.cn www.fjvhw.cn www.pecdt.cn www.qumct.cn www.wqvwl.cn www.ehjfq.cn www.mhfvs.cn www.hmjib.cn www.gokzz.cn www.zixing361.com www.xinzang123.com www.jiurou8.com www.592rcw.com www.lawy118.com www.10yuanjuan.com www.alubala.com www.10yuanjuan.com www.alubala.com www.7zuliao.com www.baiyang0315.com www.51hourse.com www.fangzhe.net www.bangtian.net www.liangbing.net www.chjobs.com.cn www.tgbqs.com www.ruizhi-ad.com

相关推荐:

网友评论:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片

林然 主管QQ:374476 联系QQ:374476 邮箱:374476@qq.com

Copyright © 2002-2028 LINRAN. 林然丨版权所有 Power by DedeCms

Top