饿了么全自动API网关Stargate cluster | 掘金 x 饿了么技术沙龙

编者按:本文系饿了么架构师-孙立伟在掘金技术社区和饿了么主办的《掘金 x 饿了么技术沙龙 | 架构实践专场》 活动上的分享整理。此次讲师带来了哪些干货?本人有幸参与本次活动,将讲师分享内容进行了一个小总结,但愿能帮到未能到场的同窗们~受限本人水准,总结可能稍有误差或者不到位不清晰之处,还望见谅并请指出~前端

演讲内容简介:Stargate Cluster 是一个基于容器的创新型微服务网关,集成了API的权限认证和审计管理。目前已经在饿了么大规模使用,并与另外一个产品API Portal集成,自动生成了HTTP和SOA的接口文档,极大的提升了业务系统的研发效率。web

基本概念编程

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,应用将自身的服务能力封装成API,并经过API网关开放给用户调用。后端

API包括基本信息、先后端的请求路径和参数以及请求相关协议。架构

API分组app

API分组是同一种业务API的集合,一个API分组可视为一种服务(如征信查询服务)。API开发者以API分组为单位,管理分组内的全部API。函数

环境微服务

环境定义了API生命周期管理过程当中的不一样状态,API能够被发布到不一样的自定义环境中。测试

流量控制3d

流量控制支持从用户、应用和时间段等维度限制对API的调用次数,保护后端服务。

应用

应用(APP)定义了一个API调用者的身份。能够将一个API受权给多个应用,也能够将多个API受权给同一个应用。

归纳: API网关不是一个业务系统,它是一个相似于请求转发的系统,它的存在是控制请求的业务权限统一化管理的。

Stargate Cluster 功能特色

• 将RPC服务⾃动映射成HTTP API服务

• 深度整合发布系统, HTTP服务实现⾃动化部署

• 持Groovy脚本

• 每一个业务都是独⽴的Docker集群,互不影响

cluster会把接口转成http接口提供给前端,以下图

上图的前端是包括web app 第三方,经过HTTP接口调用Stargate cluster,Stargate cluster进行一系列的鉴权校验,权限控制等,而后把流量打到具体的后端业务系统

Stargate cluster支持http和cpc,开发者只须要提交接口定义,前端就能够进行工做

提交后cluster提供全自动化部署,自动部署支持测试环境,线上环境,cluster还支持自动生成HTTP文档,省去开发人员编写文档的时间

cluster好处:

每一个公司都在作API网关,对比饿了么跟某云厂

优势:

1,饿了么实现了自动化部署上线

2,自动转义HTTP接口

3,支持HTTP和RPC

缺点:

1,没有SDK

2,不知道目前承载的QPS

相关文章
相关标签/搜索