剧透,美团自研API网关服务Shepherd架构解读 | ArchSummit
API 网关是随着微服务这个概念一起兴起的一种架构模式。原本一个庞大的单体应用业务系统被拆分成许多微服务系统进行独立维护和部署,服务拆分带来的变化是 API 的规模也会成倍增长,使用 API 网关发布和管理 API 逐渐成为一种趋势。
美团 API 网关服务 Shepherd 在这个背景下应运而生,适应美团业务特点完全自研,用于替换传统的 Web 层网关应用,业务研发人员通过配置的方式即可对外开放功能和数据。
Shepherd 的价值主要体现在这三方面:
提升研发效率:通过配置的方式即可开放内部服务接口统一提供鉴权,限流,熔断等非业务基础功能;
降低沟通成本:自动生成 API 的前后端交互文档、客户端 SDK,支持 Mock,方便前后端开发人员进行联调、交互;
提升资源利用率:集中管理 API 资源,业务 RD 无需单独申请域名、机器等资源。
这是 Shepherd 的整体架构,左边是请求的发起方,可以是移动应用、Web 应用,合作伙伴或者是内部系统的 HTTP 请求,经过 Nginx 负载均衡系统后,到达 Shepherd API 网关的服务端(也是网关系统的数据面),服务端集成了一系列的基础组件和业务自定义组件,通过泛化调用完成后端 RPC 服务或 HTTP 服务,最后返回响应结果。
下面的管理平台是网关的控制面,主要完成 API 的全生命周期管理以及配置下发的工作,配置中心的实现是公司统一配置服务 Lion。Shepherd 监控中心完成监控数据的收集和业务告警功能。
作为基础服务,稳定性保障可以说是业务 RD 最关心的部分了。接下来我们就来看下 Shepherd 在稳定性保障方面做了哪些工作。
上图,Shepherd API 网关从集群、节点、API 到 API 的变更提供了自上而下,多维度的保障。
此外,关于 Shepherd API 的扩展能力和易用性,以及如何快速创建 API、如何进行错误排查、Web 服务如何灰度迁移等最佳实践内容,来自美团基础架构部技术专家陈充泽老师,都将在 4 月 25 日上海宝华万豪酒店举办的 ArchSummit 架构师峰会上分享,感兴趣的欢迎关注。
“网关系统实践”专题邀请了阿里、美团、腾讯、比心科技公司专门从事 API 网关研发的团队讲述他们在 API 网关方面的经验,这些团队有着不同的业务背景,面临的问题有共性又有自己的特点,对网关有着自己独特的理解,希望能对大家的工作带来一些帮助。
了解专题详细内容扫描海报中二维码或点击底部【阅读原文】。目前 9 折购票最后阶段,购票直接联系票务经理小倩:18514549229