开发者社区> arvinson> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

新品发布会来袭!RDS 5.7三节点企业版在阿里巴巴的应用解析

简介: 一.RDS 5.7三节点企业版的核心优势  上篇我们介绍了RDS 5.7三节点企业版数据一致性解决方案,这个章节我先对RDS 5.7三节点企业版的核心优势做下简单汇总。 1.数据强一致能力  RDS 5.7三节点企业版在AliSQL的基础上集成了X-Paxos。
+关注继续查看

一.RDS 5.7三节点企业版的核心优势
  上篇我们介绍了RDS 5.7三节点企业版数据一致性解决方案,这个章节我先对RDS 5.7三节点企业版的核心优势做下简单汇总。

1.数据强一致能力
  RDS 5.7三节点企业版在AliSQL的基础上集成了X-Paxos。借助X-Paxos的分布式一致性算法,RDS 5.7三节点企业版从功能层面可以彻底解决数据质量问题,让RDS 5.7三节点企业版从AliSQL时代的数据一致性问题中彻底走了出来,从借助生态解决一致性问题,升级到产品内部一体化方式来彻底解决。

2.RDS 5.7三节点企业版的性能优化
我们都知道强一致一定带来性能的下降,我们来看在RDS 5.7三节点企业版上我们做了哪些优化,来提升吞吐和性能。

1).一体化的日志设计

  RDS 5.7三节点企业版的Consensus日志是合并了原有的binlog和relay_log, 但是保留了原有的MySQL binlog的事务日志格式。一体化日志带来的好处首先是减少一份日志的写入;其次扫描日志可以做到顺序IO,这个点尤其对Paxos算法下日志的检索和获取效率是一个提升。

2).异步事务提交

  首先X-Paxos完全基于多线程实现,可以在单个分区Paxos中完全的使用多线程的能力,所有的任务都有通用的worker来运行,消除了CPU的瓶颈。在这个基础上,我们在服务层对事务流程进行拆分(处理请求→等待同步→事务提交),不同阶段由线程池的不同线程完成。借助X-Paxos的多线程模式以及服务层的异步化改造,系统吞吐有很大的提升。尤其在跨域或者跨国场景下,巨大的网络延迟使得线程池成为一种瓶颈:实际运行中会发现线程池绝大部分线程在等待日志跨单元同步回包,服务端就没有足够的线程去处理客户请求。

3).Batching &Pipelining

  X-Paxos针对高延迟网络做了大量的协议优化尝试和测试,并结合学术界现有的理论成果通过合理的Batching和Pipelining,设计并实现了一整套自适应的针对高延迟高吞吐和低延迟高吞吐网络的通信模式,极大的提升了X-Paxos的性能。Pipeling的引入,需要解决日志的乱序问题,特别是在异地场景下,window加大,加大了乱序的概率。X-Paxos实现了一个高效的乱序处理模块,可以对底层日志实现屏蔽乱序问题,实现高效的乱序日志存储。

如上几个点的优化,保证了RDS 5.7三节点企业版在同城多机房部署或者跨域多单元部署时,写入性能和单节点模式(非强一致)无大幅度劣化。如上功能的提供以及性能优化让RDS 5.7三节点企业版真正能解决一致性问题,同时通过近两年在集团的推广使用也验证了RDS 5.7三节点企业版的可靠性和完备性。

3.多种角色及动态变更
  除了一致性的解决外,RDS 5.7三节点企业版还借助了X-Paxos强大的生态功能,增加了RDS 5.7三节点企业版的灵活性,体现在如下几个点上:
1).友好的管控操作:支持在线添加&删除节点,支持在线转让leader;
2).策略化多数派和权重化选主:可以让业务根据自己的部署特点自行配置;
3).节点角色定制化:经典的multi-paxos实现中,一般每个节点都包含了Proposer/Accepter/Learner三种功能,每一个节点都是全功能节点。RDS 5.7三节点企业版支持三种功能的独立配置,将Paxos算法中节点的三个功能进行了剥离和重组,形成了多种不同角色的节点。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
新品发布会来袭!RDS 5.7三节点企业版在阿里巴巴的应用解析
RDS 5.7三节点企业版是阿里自主研发,完全兼容MySQL生态的全球级分布式强一致的关系型数据库。从2017年开始在集团大规模使用,目前不仅服务了天猫/淘宝核心交易系统,还在蚂蚁,菜鸟,钉钉,盒马,优酷,高德,口碑等阿里子BU大量使用,这篇我们来看看ALISQL金融三节点的具体应用场景。
5691 0
RDS 5.7三节点企业版时代的数据一致性解决方案
随着以Google Spanner以及Amazon Aruora 为代表的NewSQL的快速发展,为数据库的数据一致性给出了与以往不同的思路: 基于分布式一致性协议!我们也实现了一个独立的分布式协议库X-Paxos,并将这个特性继承到了RDS 5.7三节点企业版中。
1027 0
RDS 5.7三节点企业版时代的数据一致性解决方案
随着以Google Spanner以及Amazon Aruora 为代表的NewSQL的快速发展,为数据库的数据一致性给出了与以往不同的思路: 基于分布式一致性协议!我们也实现了一个独立的分布式协议库X-Paxos,并将这个特性继承到了RDS 5.7三节点企业版中。
1243 0
RDS 5.7三节点企业版时代的数据一致性解决方案
上篇我们看到了在MySQL主备模式下,我们在数据一致性上做了不少事情,但解决方案都有一定的局限性,适合部分场景或者解决不彻底的问题。随着以Google Spanner以及Amazon Aruora 为代表的NewSQL的快速发展,为数据库的数据一致性给出了与以往不同的思路: 基于分布式一致性协议!我们也实现了一个独立的分布式协议库X-Paxos,并将这个特性继承到了 RDS 5.
1383 0
动手实战-最佳应用实践之使用RDS MySQL和ECS搭建个人博客
场景体验完成,简单描述以下实验过程,可以看到wordpress安装配置非常简单。
88 0
RDS MySQL参数调优最佳实践
前言 很多时候,RDS用户经常会问如何调优RDS MySQL的参数,为了回答这个问题,写一篇blog来进行解释: 哪一些参数不能修改,那一些参数可以修改; 这些提供修改的参数是不是已经是最佳设置,如何才能利用好这些参数; 哪些参数可以改 细心的用户在购买RDS的时候都会看到,不同规格能够提供的最大连接数以及内存是不同的,所以这一些产品规格的限制参数:连接数、内存用户是不能够修改的,如果内存或者连接数出现了瓶颈: 内存瓶颈:实例会出现OOM,然后导致主备发生切换 连接数瓶颈:应用不能新建立连接到数据库 则需要进行应用优化、慢SQL优化或者进行弹性升级实例规格来解决。
6196 0
MySQL · 参数优化 ·RDS MySQL参数调优最佳实践
前言 很多时候,RDS用户经常会问如何调优RDS MySQL的参数,为了回答这个问题,写一篇blog来进行解释: 哪一些参数不能修改,那一些参数可以修改; 这些提供修改的参数是不是已经是最佳设置,如何才能利用好这些参数; 哪些参数可以改 细心的用户在购买RDS的时候都会看到,不同规格能够提
5933 0
+关注
1
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载