- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
背景:为什么要做异地多活?
饿了么要做多活,是受业务发展的驱动,经过几年的高速发展,我们的业务已经扩大到单个数据中心撑
不住了,主要机房已经不能再加机器,业务却不断的要求加扩容,所以我们需要一个方案能够把服务器
部署到多个机房。
另外一个更重要的原因是,整个机房级别的故障时有发生,每次都会带来严重的后果,我们需要在发生
故障时,能够把一个机房的业务全部迁移到别的机房,保证服务可用。
异地多活面临的主要挑战是网络延迟,以北京到上海1468公里,即使是光速传输,一个来回也需要接
近10ms,我们在实际测试的过程中,发现上海到北京的网络延迟,一般是30ms。
这30ms可以和运算系统中其他的延迟时间做个比较:
L1cachereference0.5ns
Branchmispredict5ns
L2cachereference7ns
Mutexlock/unlock25ns
Mainmemoryreference100ns
Compress1KbyteswithZippy3,000ns3µs
Send2Kbytesover1Gbpsnetwork20,000ns20µs
SSDrandomread150,000ns150µs
Read1MBsequentiallyfrommemory250,000ns250µs
Roundtripwithinsamedatacenter500,000ns0.5ms
Read1MBsequentiallyfromSSD*1,000,000ns1ms
北京上海两地的网络延迟时间,大致是内网网络访问速度的60倍(30ms/0.5ms).
如果不做任何改造,一方直接访问另外一方的服务,那么我们的APP的反应会比原来慢60倍,其实考
虑上多次往返,可能会慢600倍。
如果机房都在上海,那么网络延迟只有内网速度的2倍,可以当成一个机房使用。
所有有些公司的多活方案,会选择同城机房,把同城的几个机房当成一个机房部署,可以在不影响服务
架构的情况下扩展出多个机房,不失为一个快速见效的方法。
我们在做多活的初期也讨论过同城方案,比如在北京周边建设一个新机房,迁移部分服务到新机房,两
个机房专线连接,服务间做跨机房调用。
虽然这个方案比较容易,也解决了机房的扩展问题,但是对高可用却没有好处,相反还带来了更高的风
险。
异地多活的关键
与同城多活的方案不同,异地多活的关键——限制机房间的相互调用,需要对业务进行单元化改造
——定义清晰的服务边界,减少相互依赖,让每个机房都成为独立的单元,不依赖于其他机房。
经过几番考量,我们最终选择了异地多活的方案,对这两个方案的比较和思考可以见下表,异地多活虽
然更困难一点,但是能同时达到我们的两个核心目标,更为可行。
设计:异地多活的实现思路和方法
我们的异地多活方案的,有几条基本原则,整个多活方案都是这些原则的自然推导。但在介绍一下这些
原则之前,先要说明一下饿了么的服务流程,才能让大家更好的理解这些原则的来由
下面这张简图是我们的主流程:
业务过程中包含3个最重要的角色,分别是用户、商家和骑手,一个订单包含3个步骤:
1.用户打开我们的APP,系统会推荐出用户位置附近的各种美食,推荐顺序中结合了用户习惯,推荐
排序,商户的推广等。用户找到中意的食物,下单并支付,订单会流转到商家。
2.商家接单并开始制作食物,制作完成后,系统调度骑手赶到店面,取走食物
3.骑手按照配送地址,把食物送到客户手中。
整个下单到配送完成,有严格的时间要求,必须在短短的几十分钟内完成,我们的服务和地理位置强相
关,并且实时性要求高,
您可能关注的文档
- 专题10:TCPIP协议(史上最全 + 2024面试必备).pdf
- 专题11:JUC并发包与容器类(史上最全 + 2024面试必备).pdf
- 专题12:设计模式面试题 (史上最全 + 2024面试必备).pdf
- 专题14:Redis 面试题 (史上最全 + 2024面试必备).pdf
- 专题15:分布式锁 面试题(史上最全 + 2024面试必备).pdf
- 专题16:Zookeeper 面试题(史上最全 + 2024面试必备).pdf
- 专题17:分布式事务面试题(史上最全 + 2024面试必备).pdf
- 专题18:一致性协议 (史上最全 + 2024面试必备).pdf
- 专题19:Zab协议( 史上最全 + 2024面试必备).pdf
- 专题20:Paxos 协议(史上最全 + 2024面试必备).pdf
- 深度解析(2026)《ISOTS 225832024 Requirements and recommendations for supervisors and operators of point-of-care tes标准解读.pptx
- 深度解析(2026)《ISOTS 233612024 Nanotechnologies — Crystallinity of cellulose nanomaterials by powder X-ray diffrac标准解读.pptx
- 深度解析(2026)《ISOTS 243992025 Thermoplastic pipes for the conveyance of fluids — Inspection of polyethylene bu标准解读.pptx
- 深度解析(2026)《ISOTS 209952024 Footwear — Performance requirements for components for footwear — Stiffeners and to标准解读.pptx
- 深度解析(2026)《ISOTS 204442024 Rubber and plastics hoses — Determination of abrasion resistance of the outer cover标准解读.pptx
- 深度解析(2026)《ISOTS 213432025 石油天然气工业包括低碳能源 — 燃料氨 — 发电用锅炉要求与指南》标准解读.pptx
- 深度解析(2026)《ISOTS 207902024 石油天然气工业含低碳能源 — 油气田设备与材料绿色制造及低碳排放指南》标准解读.pptx
- 深度解析(2026)《ISOTS 267622025 天然气生产设施分配系统设计与运行》标准解读.pptx
- 无锡市澄宜六校联盟2026届高三年级12月学情调研试卷数学试卷(含答案).doc
- 无锡市澄宜六校联盟2026届高三年级12月学情调研试卷地理试卷(含答案).doc
原创力文档


文档评论(0)