摘要: 饿了么CTO张雪峰表示,这只是一个开始,前方还有更难、更复杂的技术挑战。“多活切换只是技术10→100过程当中的第一步,可能还会伴随局部抖动与新的坎坷。”他鼓励饿厂全部技术同窗一块儿拼——for Making Everything 30’,for 下一个九年!微信
北京时间5月9日消息,饿了么CTO张雪峰,在朋友圈透露,饿了么多活(Multi-Active IDCs/Regions)终于取得成功,实现首次多活生产环境全网切换(灰度)。网络
这家外卖巨头的CTO回顾到:“自去年八月决定作多活,历经半年规划、调研、设计、协调,又通过三个月全部技术团队连续冲刺开发、改造及业务/产品/运营等兄弟团队的鼓励、支持甚至容忍,今晚,咱们终于作到了!”架构
张雪峰称:“据我所知(如不许确,请指出并见谅),国内日均(非峰值或大促期间)订单100万以上的交易平台,除阿里巴巴(包括蚂蚁金服&菜鸟网络)真正意义上实现了全网多活(不是双活),迄今为止应该尚未第二家能够彻底作到。”app
“有些公司或许正在规划中,有些团队或许正在改造中,还有些或许正在经历和饿了么已经历过的类似风雨与酸甜苦辣……”运维
那异地多活的最大挑战在哪里?张雪峰概括了两方面难度:技术和实施。技术难度上,最主要是实时数据强一致性(尤为外卖及配送这种即时性很强业务场景),包括 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。张雪峰说:“给高速飞行(产品迭代)中的飞机换引擎,真不是闹着玩的。”spa
对于中间历程,他说,确实有太多酸甜苦辣。“技术团队全部同窗承担了‘再也不尝试灾备过渡,直接进行多活改造’的巨大压力。好在,到今天为止,咱们都挺过来了。”他认为,全部付出的努力都是值得的,全部经历的风雨,只为从此的长治久安——由于多活就是最好的灾备。设计
对于为何要实施多活,2个月前,张雪峰在接受云栖社区采访时曾作过剖析:“主要是上云后发现,事情比他们想象的要复杂的多——IDC和云机房之间要拉光纤,不少事情须要配套。”在一次核心主备全挂后,张雪峰拍板,决定更进一步:实施多活。blog
据悉,饿了么只用了三个季度搞定多活,而当年的淘宝则用了三年时间。为此,在朋友圈,他除了列了一串名单感谢饿了么内部员工,他也特别感谢外部人员。包括阿里云(好多同窗,不一一列举了)、毕玄(中国多活建设第一人)、阿里平台架构部等。张雪峰说:“没有你们,咱们没那么快走到这一天!”图片
张雪峰微信朋友圈
对于昨晚今晨的首次多活生产环境全网切换(灰度),饿了么CTO张雪峰也表示,这只是一个开始,前方还有更难、更复杂的技术挑战。“多活切换只是技术10→100过程当中的第一步,可能还会伴随局部抖动与新的坎坷。”他鼓励饿厂全部技术同窗一块儿拼——for Making Everything 30’,for 下一个九年!
相关阅读: