近期阿里云重磅发布了BizWorks一体化的云原生应用的开发和运营平台,内置阿里巴巴业务中台构建的最佳技术实践。BizWorks提供的产品能力,普遍适用于企业云原生应用高效开发以及企业业务能力沉淀和复用的场景。BizWorks提供业务架构师一整套的可视化业务建模工具,极大提升设计效率;同时,基于这套建模产出,形成代码框架,让业务中台复杂的变成过程简化为填空题,减低开发难度、提升研发效率,并在部署环节完成设计与实现的一致性校验,保证实现质量。BizWorks已经将API网关作为关键组件融入其中,并且基于API网关为用户提供能力开放平台。那么API网关是如何在BizWorks中起到作用?API网关在实际业务中又起到怎样帮助?本文就此展开详细说明。
阿里云API网关是阿里云自研的一款高性能网关,主要面向公有云用户提供API托管服务、流控、认证、安全等能标准的API网关能力。阿里云的API网关原生对接了阿里云的非常多的标准云产品,能够将阿里云的多款产品聚合起来为用户提供一套整体解决方案,提供业务数据完全打通的能力强大的整套基础设施。本文详细描述了以API网关作为中枢的应用体系架构,用户可以参考本文快捷地搭建一套服务于大型应用的功能全面的服务器侧架构。
1、应用体系架构的主要诉求
我们运营一个成熟的APP,对服务器端大致有五种类型的主要诉求:
- 处理业务类请求:处理用户自己业务系统的业务,比如客户端向服务器端发送的用户注册、登录、获取用户资料等请求,Web客户端向服务器端发送获取商品描述等请求;
- 处理文件类请求:这个比较好理解,就是客户端向服务器端发送上传、下载文件的请求,比如图片,语音等多媒体文件;
- 处理数据统计类请求:运营平台需要统计一些运营数据,业务大屏需要展示一些统计数据等,需要服务器端将业务数据经过聚合等处理后通过接口形式提供给Web客户端;
- 调用三方接口处理特定请求:比如调用三方的人脸识别接口,三方的天气查询接口等专业接口;
- 业务可监控,遇到异常情况可以自动报警对业务运行情况的监控和报警是一个服务器端架构必须要考虑的方面,
这五类主要诉求都能通过API网关原生集成阿里云的其他标准产品来统一完成,下面我们来讲讲具体如何实现。
2、API网关作为中枢的应用体系架构
2.1、整体架构
上图是利用API网关构建一个标准的APP服务器端架构图,我们可以看到API网关处于业务流量入口,原生集成了多款阿里云的标准产品。所有客户端的请求先发送到API网关,由API网关根据用户配置的API元数据将请求路由到不同的类型的后端实现不同类型的业务分发,API网关和这些后端类型产品是原生集成,默认内网通信,大幅降低用户配置难度的同时也提高了通讯效率。同时经过API网关的API调用日志都会被API网关实时同步到用户的SLS日志、云监控和ARMS业务监控中,大幅增强用户的业务监控与报警能力。