大家早上好,我今天要分享的,是跨数据中心状态同步两地三中心的理论技术。先简单自我介绍一下,我实际上是出身数据库的,今天讲的课题和数据库或多或少有一些关系。
大家之前参加过不少的分享会。很多人在分享的时候,主要是通过 PPT做各种技术点的分析,内容看起来比较丰富、耀眼。这些东西最多告诉你“怎么做”,但很少交代“为什么这么做?”。
这是因为很多人经过多年沉淀,在各个知识点都有很多的积累,形成了知识丛林。你可以看到他在某个点的产出,但很难还原当初这么做的原因。我今天跟大家分享的,就是一个可以让大家理解“我为什么要这么去做”的知识点,希望可以成为大家头脑中的参考,或者给大家一些启发。
分布式协议/概念
开始之前,我先介绍一下分布式的协议。今年的双十一阿里的创造了交易额是很惊人的,但阿里的技术团队出来做技术分享时,他们提到一点,就是支付宝交易每秒钟到了 8.5 万笔,这里面有很多东西可以分析出来。
其中的分布式协议,全球范围内真正能够实现分布式一致性算法,只有两个,一个是 paxos,一个是 raft,paxos 有很长的历史,最早是谷歌实现的,后来论文发布之后,中间有一个组建也是用 paxos 的 算法,在这里面 paxos 实现包括谷歌公开的技术。2012年,有两位教授发表了一篇论文,叫做 raft,非常值得去学习。还有一个是 2pc,也可以实现分布式同步,但是它中间可能会出现问题,我们一般要真正实现分布式数据状态协议的话,一般会选择 paxos 和 raft。从容易实现的角度考虑的话,就采用 raft。
远距离跨机房同步问题
首先介绍一下做这个事情的背景和出发点。以途牛为背景,途牛最开始他们的系统都是在南京这一块,但为了照顾到用户体验,我们就把网站迁到北京。怎么做呢?我们进行了调用,这里面存在很多问题。包括远距离跨机房同步问题,以及专线稳定性对服务质量的影响。我们一般系统网络都是 4 个 9 或以上,还有宽带挤占,各个系统调用等。而我要讲的是数据库同步延时。
我们后台系统允许客户注册,在网站上注册可以选择南京或北京,我们选择南京,因为更多是南京在用。注册的时候到北京去,我们读的是的北京数据库。但如果出现延时,就无法登录,这样用户体验是非常糟糕的。此外就是不能做强一致性高可用。如果在两地做,可能有同步有做法,万一出问题需要切换,数据可能会丢失。这点大家应该都有了解。
CAP 中,我们的选择
关于 CAP,很多人都了解它的特点,就是一致性,可用性,分区容错性。但这三者不可兼得,然而分区(P)是必然的。我们选择什么呢?对电商来说,它对数据的要求比较高,所以我们选择 consistency(一致性)。
大家可以注意到图片中间是一个小三角,说明这个数据很难落地。看上去 CAP 能够满足了,而实际情况不是这样的。如果大家深入了解的话会清楚。
刚才说过,我们的选择针对当前的这种开源,或者是技术实现。我们现在用开源数据库,实现主从复制、用来做高可用;不能丢失数据;只能牺牲一定的性能,等待数据被同步。但远距离机房延时太大,从而影响了系统吞吐量,所以我们做了机房搬迁。今年我们做了比较大的动作:把北京整个机房搬到南京来,因为我们整个系统还是放在南京的。
数据的传输
这个图大家应该见过,我们的应用是先向数据库发起事务,这个事务完成后,它会写到我们的 log 里面,然后返回应用。这个过程看起来比较复杂,但有一个缺陷,我这里就先不讲了,大家有兴趣可以来交流。
这种专线最终落地是什么?就是光纤传输。我们算一下它的传输性能:真空中光速 30 万千米/S,光纤材质折射率 1.45 左右,全反射传输,路径大于光纤长度,折算下来小于 20 KM/0.1MS,如果算同城的话,是1000ms / 0.2ms=5000(TPS)。我们可以通过技术提升这个速度,这与业务具体架构相关。
我们再看一下南北之间的架构。南京到北京,具体距离不了解,而且我相信光纤不是直线布置,中间会经过很多的弯和网络设备。南北传输,可以达到 1000MS / 50MS=20(TPS)。
基于 HA 的数据中心系统构建
之前我们会员系统,后台系统做的并不完善。我们可能被用户刷会员,甚至可能被刷坏。当时我们支持的事务量很小。这其实跟各个创业公司有点类似,在高速发展阶段,整体的速度没有那么快,为了降低成本,可能会让一个功能快速上线,但中间如何优化、如何实现都没有考虑过。这样的系统,经过多年累积,当时里面就出现了一些问题。比如说要求手机号码,为了保持全局一致性,一个用户注册之后,把后面所有的都堵塞掉了。后面,我们就用了异步的方式解决了这个问题。
双十一阿里做到了 8 万 5 千笔/秒的交易频率,他们是怎么做到的?最早从腾讯开始,他们通过 QQ 号取模的方式,道理其实是一样的。一个整体,如果是串行,他的分布量是比较有限的。刚才说的 0.2 毫秒,理论上只能达到 5 千每秒,如何去提升呢?在编程上面要作调整。当系统发展到一定规模后,我们要提升整个系统吞吐量,就必须考虑低层的架构,哪怕谷歌也是一样。曾经谷歌发现这里面数据库使用越来越多,各种不可用性,他们就把系统迁移到自己开发,这么大的数据量怎么去做?如下图中所述。
HA 组建及双中心 HA 缺陷。这里面有 heartbeat,keepalived,etc,也是一样的,但是缺少第三方仲裁,会导致脑裂,特别在偶数的下面。如果两部分都正常,可能会引起数据不一致,进而造成数据丢失等。我们一般选择F= 1,或者是 2,就是 5 个节点,我们使用比较成熟的解决方案。我了解到有很多是 5 节点的方案,进一步提高了可能性,允许两个节点失效。刚才讲到同城机房距离最好在 10 公里,当时美国是要求 30 公里,经我们了解,这并不是完全合理的。
三中心 HA。刚才说了两中心缺少仲裁,因此我们选择三中心,三中心有仲裁,三个节点,至少不会发生脑裂的现象。我们选择了同城加上异地,这比较容易理解:同城可以保证一定的吞吐量。同城数据中心降低的同步延时,低延时极大提升了吞吐量,第三数据中心参与选择仲裁及灾备恢复。为了安全,第三中心一般距离会比较远。比如我们南京的机房会远一点,就是为了避免出现地震等自然灾害同时影响三个中心的情况发生。
刚提到的吞吐量提升,还是可以采用各种各样的方法实现的。阿里双十一的峰值可以达到 8 万 5 千笔/秒的交易。他们引以为傲的,是去年只有 10% 的交易在 Oceanbase,今年在 100% 都迁到 Cceanbase。这是怎么实现的?Sharding 分区是避免不了的。采用发号器发号避免冲突,实现高并发,分区间用 2PC 实现分布式事务。这里面还涉及到全局,还有部分采用队列异步处理。做全局索引对业务影响并不大,因此一般统计的时候,往往通过异步去实现。
最后总结一下。两地三中心,当中 2 个中心一定是同城,因为要保证它的吞吐量、保证业务可用性。三中心对应状态同步的三节点,两地是照顾到安全和性能。我可能把第三个机房放到异地比较远的距离去做。
本文由哈喽比特于4年以前收录,如有侵权请联系我们。
文章来源:https://mp.weixin.qq.com/s/z7_V_3dT63M2f65GOaUlqQ
京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。
日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。
据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。
今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。
日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。
近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。
据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。
9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...
9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。
据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。
特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。
据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。
近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。
据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。
9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。
《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。
近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。
社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”
2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。
罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。