饿了么异地多活技术实现API-Router的设计与实现.docxVIP

  • 8
  • 0
  • 约1.87千字
  • 约 9页
  • 2022-03-21 发布于浙江
  • 举报

饿了么异地多活技术实现API-Router的设计与实现.docx

? ? 饿了么异地多活技术实现API-Router的设计与实现 ? ? 背景: 饿了么随着业务量的增长,单个数据中心的容量无法支撑全部流量,同时传统机房冷备份方式的缺陷,促使饿了么异地多活应运而生;而作为多活重要组件之一的API-Router,扮演着客户端入口流量到后端机房路由的重要角色,当一个机房出现故障甚至宕机,可以实现机房快速切换。 ? 设计目标: 1、入口流量可以根据sharding key规则路由到对应的机房(准确的说是ezone); 2、配合机房切换规则,能实现流量的转移; 3、尽可能的实现高性能、高可用、高并发,保护后端服务、削峰填谷; 前两点,主要是API-Router所需要实现的主要功能;第三点,是面对饿了么业务体量成倍的上涨带来的挑战所需要解决的问题;因此,API-Router定位为一个HTTP反向代理和负载均衡器,在此基础上实现路由的分发。 ? 一、流量路由实现篇: API-Router根据业务分集群部署在云上,参考饿了么异地多活的整体架构,API-Router的物理架构如下, 1、API-Router从Router控制台获取维护的每个域名的ezone到数据中心地址的映射关系; 2、API-Router将订阅GZS的关于shard到机房ezone的路由表; 3、API-Router在内存中,将请求头中的sharding key(地理位置、商户ID、订单

文档评论(0)

1亿VIP精品文档

相关文档