北京时间5月9日消息,饿了么CTO张雪峰,在朋友圈透露,饿了么多活(Multi-Active IDCs/Regions)终于取得成功,实现首次多活生产环境全网切换(灰度)。
这家外卖巨头的CTO回顾到:“自去年八月决定做多活,历经半年规划、调研、设计、协调,又经过三个月所有技术团队连续冲刺开发、改造及业务/产品/运营等兄弟团队的鼓励、支持甚至容忍,今晚,我们终于做到了!”
张雪峰称:“据我所知(如不准确,请指出并见谅),国内日均(非峰值或大促期间)订单100万以上的交易平台,除阿里巴巴(包括蚂蚁金服&菜鸟网络)真正意义上实现了全网多活(不是双活),迄今为止应该还没有第二家可以完全做到。”
“有些公司或许正在规划中,有些团队或许正在改造中,还有些或许正在经历和饿了么已经历过的相似风雨与酸甜苦辣……”
那异地多活的最大挑战在哪里?除了希望大家去搜索了解电商、交易、异地多活、数据实时性、数据一致性、跨机房多路数据复制、避免跨机房循环复制等知识外,张雪峰总结了两方面难度:技术和实施。技术难度上,最主要是实时数据强一致性(尤其外卖及配送这种即时性很强业务场景),包括 Cross-IDC DRC解决的app data strong consistency和Cross-IDC ZK Replication解决的config data strong consistency,而无论哪种data replication,都必须解决循环复制问题。其中,饿了么解决的Cross-IDC ZK Replication为业内首创,当初规划、选型、设计时没有任何大规模先例可以参考。
实施难度上简单总结就是,必须全员all-in冲刺,任何一个环节滞后,结果肯定是made nothing。张雪峰说:“给高速飞行(产品迭代)中的飞机换引擎,真不是闹着玩的。”
对于中间历程,他说,确实有太多酸甜苦辣。“技术团队所有同学承担了‘不再尝试灾备过渡,直接进行多活改造’的巨大压力。好在,到今天为止,我们都挺过来了。”他认为,所有付出的努力都是值得的,所有经历的风雨,只为今后的长治久安——因为多活就是最好的灾备。
对于为什么要实施多活,2个月前,张雪峰在接受云栖社区采访时曾做过剖析:“主要是上云后发现,事情比他们想象的要复杂的多——IDC和云机房之间要拉光纤,很多事情需要配套。”在一次核心主备全挂后,张雪峰拍板,决定更进一步:实施多活。
据悉,饿了么只用了三个季度搞定多活,而当年的淘宝则用了三年时间。为此,在朋友圈,他除了列了一串名单感谢饿了么内部员工,他也特别感谢外部人员。包括阿里云(好多同学,不一一列举了)、毕玄(中国多活建设第一人)、阿里平台架构部等。张雪峰说:“没有大家,我们没那么快走到这一天!”
张雪峰微信朋友圈
对于昨晚今晨的首次多活生产环境全网切换(灰度),饿了么CTO张雪峰也表示,这只是一个开始,前方还有更难、更复杂的技术挑战。“多活切换只是技术10→100过程中的第一步,可能还会伴随局部抖动与新的坎坷。”他鼓励饿厂所有技术同学一起拼——for Making Everything 30’,for 下一个九年!
相关阅读:
掌握第一手干货,欢迎关注阿里云云栖社区官方微博:http://weibo.com/u/1939498534