解密阿里巴巴高可用架构技术――“异地多活”
阿里巴巴技术保障部研究员毕玄是“异地多活”项目的发起人之一,让他来谈谈“异地多活”技术的诞生历程是最为合适不过的了。 毕玄同学,跟大家唠一唠“异地多活”技术。 以下为演讲实录: 在去年“双十一”之后,阿里巴巴就对外宣传了去年交易的“异地双活”,而今年则变成了“异地多活”,意味着从“双”走向了更多。 阿里巴巴高可用架构的演进史 对于阿里的交易以及支付来讲,我们 做 异地多活最重要的目的除了灾备之外,更重要的点是追求持续可用,整个支付交易的体量对于用户来讲是持续可用。 我们可以看一下业界比较主流的灾备是怎么做的,以及阿里在这方面整个的演进。业界最重要的很多人都知道,最主流的灾备技术是两地三中心,数据中心A和数据中心B在同城作为生产级的机房,当用户访问的时候随机访问到数据中心A或B。之所以随便访问,因为A和B会同步做数据复制,所以两边的数据是完全一样的。但是因为是同步复制的,所以只能在同城去做两个数据中心,否则太远的话同步复制的延时会太长。在两地三中心的概念里,一定会要求这两个生产级的数据中心是必须在同一个城市,或者在距离很近的另外一个城市也可以,但是距离是有要求的。 异地备份数据中心通过异步复制去走,但是两地三中心很明显的是异地备份的数据中心是不起用的,正常情况下不对外服务,所以用户不会访问到异地的点。原因是因为数据从生产级数据中心到异地的节点是异步去复制,所以整个有延时