注册 / 登录

饿了么整体服务异地多活改造

分会场:  架构演进/工程实践/大前端

分享时间: 2017年11月9日 - 12日

案例来源 :

案例讲师

李双涛

饿了么 中间件团队首席架构师、异地多活项目总架构师

李双涛,饿了么中间件团队首席架构师、异地多活项目总架构师。17 年信息行业从业经验,曾工作于 Cisco,阿里巴巴,腾讯等公司,目前任职于饿了么中间件团队,担任高级架构师,在饿了么工作期间主要负责异地多活项目整体架构设计,以及饿了么数据复制中间件(DRC)的设计和开发。

扫描二维码分享案例

为什么这个案例值得分享?

为其他互联网公司实现多活提供参考,多活可以大大提高服务整体可用性,和扩展能力。

 

 

案例简述

 

本案例描述了饿了么的异地多活改造,从设计到正式上线的过程中,做的各种取舍,以及如何协调业务团队,和中间件团队的工作,安全而平稳的改造整个业务,使业务从一个单机房的服务,变成多机房多活的服务。
异地多活项目探索了一套方法,让大型互联网服务可以灵活的分布到多个机房中,每个机房为不同地区的用户提供服务。
当发生机房级故障的时候,服务方可以把用户路由到健康的机房,保证在故障发生时,业务可以正常执行,减小机房级故障带来的巨大损失。
在机房没有发生故障时,服务方也可以灵活的根据业务需要,把流量在多个机房之间进行调度,能够更加合理的使用资源。均匀分配流量,可以更好的应对各种突发业务增长。

 

案例目标

 

多活项目设计了一种分布式数据中心的解决方案,按照这个方案对业务只需要进行比较少的改造,即可以让业务服务能够部署到多个机房,互相之间没有冲突的并行运行,并在发生机房级故障的时,候能够无缝切换用户到其他机房,整体服务不受影响。

 

成功(或教训)要点

 

异地多活在流量路由,异地数据中心双向复制,分布式数据库,多中心协调,调用路由,流量追踪等方面做出了一些技术突破,强化了中间件的能力,为业务开发出更加健壮的服务提供了理论指导。

 

案例ROI分析

 

正在更新中...

 

案例启示

 

多活的核心理念是两个流的调度:
1. 数据流 - 数据的分片和复制
2. 控制流 - 业务的分割和路由
实现多活的过程中要做到:
1.紧紧贴合业务
2.把简单留给业务,把复制留给中间间
步步为营,步步设防,保证平稳过渡

 

案例在团队中的意义

 

为其他互联网公司实现多活提供参考,多活可以大大提高服务整体可用性,和扩展能力。