根据《开篇 | mPaaS 服务端核心组件体系概述》,我们已经初步了解 mPaaS 平台后端各组件的核心架构体系。

而在 mPaaS 服务端众多组件中,移动 API 网关 MGS 是连接移动客户端与服务端的组件产品。它简化了移动端与服务端的数据协议和通讯协议,从而能够显著提升开发效率和网络通讯效率,是整个 mPaaS 服务中的核心入口。

接下来我们将着重围绕 mPaaS MGS 展开介绍,进一步了解这款能力有哪些特质:

为什么需要移动API网关

| 移动网络接入架构演进

传统的单应用架构在团队与业务增长,支撑多团队多业务并行研发方面越发力不从心。伴随近年微服务架构风格的流行,越来越多的企业将自身服务微服务化,之前的大应用被拆分成为了多个分散的服务提供出来。与此同时,随着移动互联网、普惠金融等新机会的迅猛发展,企业越来越迫切地希望将现有成熟的后端服务开放出去。

此时在面对复杂的移动网络环境,前有 Android/iOS/H5/小程序等多种前端需要接入,后有零零散散的各个微服务系统需要导出,就很有必要有一套可适用于移动网络环境,高性能高可靠易使用,路由不同类型前端与各个后端微服务,帮助各个服务提供统一的限流,缓存,安全,监控等处理的移动 API 网关做后端总入口。

mPaaS MGS

| 现代化移动网络接入架构最佳实践

mPaaS 上的移动 API 网关 MGS,来源于支付宝 App 多年亿级网络服务技术的积累。在蚂蚁内支撑了支付宝、口碑、网商、聚宝、香港版等多个 App 数百个服务上万个 API,常年保持 99.9999+% 高可用率,具有足够的稳定性。

作为移动网络技术中“__客户端到服务端请求-响应模型__”服务,经历了多年双十一、双十二、春节红包活动的海量请求考验。在蚂蚁金融云公有云与私有云上,也为 12306,广发银行,上海地铁等客户提供了高性能高可靠海量服务的支撑。

MGS 底层利用 Netty 实现了高效的异步非阻塞服务,4c8g 单机 QPS 可达 1 万+/s。

前端支持 http / http2 / mmtp 等协议,支持 JSON / protobuf 等传输格式,支持客户端 RPC 与 H5 标准 Rest 请求,可广泛适用于各种终端请求接入。

同时,为了更好的支持云上客户已有业务的需要,MGS 后端支持了 HTTP / Dubbo / SOFA / HRPC / MPC 等异构后端,最大程度兼容业务原有服务,还可以用 MGS 提供的 SPI SDK 直接在 API 函数签名上使用注解注册到配置中心,通过服务发现免去手动注册 API 的繁琐。

MGS 还内置了简洁易用的 Web 管控页面,能轻松管理租户内 App 全局与各个 API 的功能配置,包括__配置签名校验 / 结果缓存 / 超时设置 / API 限流 / API Mock / API 授权 / 数据加密 / CORS 跨域 / 数据模型 / 后端地址__等,更改的配置写入 DB 后会异步刷新到机房内各个网关节点,保证网关在处理客户端请求时没有 DB 等额外 IO 操作,进一步提升整体性能。

MGS 广泛用于包括金融地铁等公共服务领域,为了满足金融级安全监管要求,保障用户数据的安全性,客户端网络 SDK 为每个请求数据增加签名,然后通过 RSA / ECC / 国密等加密算法对数据加密传输到网关。

网关会验签核对身份并将数据解密后转发到后端业务,后端服务处理完成后网关会再加密返回客户端。 通过这些措施,让研发同学专注处理业务的同时不用为网络数据安全担心。

在面对海量请求时,MGS 会通过结果缓存,超时设置,API 限流等功能来帮助后端提高性能,提供过载保护,这样当大促等高峰期流量过来时,业务服务仍然能够正常运行,从而保证了业务系统的稳定性,防止高峰期时后台服务器被压垮。

同时网关支持限流时配置客户端提示用户的文案,方便产品运营定制。

借助 API 授权功能,业务可以很方便地通过 MGS 定制包括授权,Session 控制等旁路能力,授权接口本身也以网关 API 形式定义,可与其他 API 一样设置缓存限流等各种配置,从而统一业务编程模型。另外网关 SPI SDK 还支持切面拦截,方便业务服务内整体扩展。

在日常开发测试时,MGS 提供了 API Mock 与 API Test 方便 API 开发测试。

通过 API 客户端代码生成(Android/iOS/JS),自动生成多端 SDK,实现前后端分离,配合 SDK,让业务研发同学专注业务逻辑,无需关心底层通信细节,团队内也无需网络专家,即可直接借力支付宝多年网络优化经验,从纷繁复杂的移动网络开发中解放,最大化业务开发效率,让研发从此爱上 API 研发。

最后,MGS 还提供了完整的数据监控与问题排查方案,通过给每个请求生成唯一的 traceID 做链路跟踪,结合不同类型的错误码,可在出现问题时串起整个链路,迅速定位问题找到原因。

mPaaS MGS 展望

| 支付宝亿级网关架构能力开放

MGS 除了上述能力外,后续还会不断升级,为业务带来更专业更高效的网关服务,包括开放 ABTest灰度、HTTP2 协议、移动调度、多机房多活等功能,用支付宝多年技术积累助力企业服务技术升级。

结语

通过本节内容,相信大家对 mPaaS 移动 API 网关服务 MGS 有了初步认识。
关于网关功能详细介绍,可以参考 mPaaS 移动网关官方文档:
http://t.cn/EUqYgZC

后续我们将针对 mPaaS 其他服务组件的设计与优化,展开更多探讨。

往期阅读

《支付宝客户端架构解析:iOS 容器化框架初探》

《支付宝客户端架构解析:Android 容器化框架初探》

《支付宝客户端架构解析:Android 客户端启动速度优化之「垃圾回收」》

《支付宝客户端架构解析:iOS 客户端启动性能优化初探》

关注我们微信公众号「mPaaS」,获得第一手 mPaaS 技术实践干货

蚂蚁金服 mPaaS 服务端核心组件体系概述:移动 API 网关 MGS相关推荐

  1. 开篇 | 蚂蚁金服 mPaaS 服务端核心组件体系概述

    mPaaS 是源自于支付宝客户端 App 的移动开发平台,为企业提供了移动开发.测试.运营及运维提供云到端的一站式解决方案,mPaaS 能有效降低技术门槛.减少研发成本.提升开发效率,协助企业快速搭建 ...

  2. mPaaS 服务端核心组件:消息推送 MPS 架构及流程设计

    0. 前言 根据<开篇 | mPaaS 服务端核心组件体系概述>的介绍,我们已经知道 mPaaS 的 MPS 服务主要提供了专业的移动消息推送方案,可以针对不同的场景提供多种推送类型,满足 ...

  3. mPaaS 服务端核心组件:移动分析服务 MAS 架构解析

    承接<开篇 | mPaaS 服务端核心组件体系概述>已经介绍移动分析服务 MAS 的主要功能和数据链路情况,包括"基础分析,自定义分析,性能分析,日志管理". 本章节, ...

  4. 蚂蚁金服开源服务注册中心 SOFARegistry

    SOFAStack(Scalable Open Financial Architecture Stack )是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构所需的各个组件,是在金融场景 ...

  5. 蚂蚁金服mPaaS 3.0发布 助力客户智能化构建超级App生态

    1月4日,蚂蚁金融科技宣布蚂蚁金服移动开发平台mPaaS(mobile Platform-as-a-Service)升级到3.0版本,"新版本以智能技术助力客户构建自己的超级 App,企业可 ...

  6. 蚂蚁金服 mPaaS IDEA 插件实践Demo演示

    前言 本文深入展开 mPaaS 在 IDEA 插件开发之路上踩过的坑和沉淀的思考,希望能够带来一些参考性: ●  mPaaS 冷启动过程如何通过工具选择优化接入成本  ●  IDEA Plugin 开 ...

  7. 移动测试架构演进 | 蚂蚁金服自动化用例管理探索

    作者:周力(问瑾),蚂蚁金服技术专家.本文围绕支付宝面向移动应用日志复杂的测试工作,如何思考演进出成熟稳定的测试用例管理展开讨论和总结. 相比普通测试用例,自动化用例在形式.实现方式及内容上有一定的特 ...

  8. 蚂蚁金服面对亿级并发场景的组件体系设计

    来自:蚂蚁金服公众号mPaas 作者:吕丹(凝睇),2011 年加入支付宝,先后负责了支付宝 Wap.alipass 卡券.SYNC 数据同步等项目,并参与了多次双十一.双十二.春节红包大促活动,在客 ...

  9. 架构系列---蚂蚁金服面对亿级并发场景的组件体系设计

    今天,我主要想和大家分享一下移动领域基础组件体系,内容大致可以分为四大块,第一块是标准移动研发所需的基础服务体系,第二块是支撑亿级并发的核心组件"移动接入"的架构演进过程,第三块是 ...

最新文章

  1. PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析
  2. [译]NeHe教程 - 你的第一个多边形
  3. dasblog的安装
  4. logon oracle 密码 用户名_PLSQL自动登录,记住用户名密码日常使用技巧
  5. 西瓜书+实战+吴恩达机器学习(十三)监督学习之随机森林 Random Forest
  6. 操作系统知识回顾(5)-内存管理
  7. webapi 重复提交问题
  8. js计算html的font-size
  9. Windows下的TFTP传输文件
  10. Charles 抓包工具绿化过程记录
  11. java 图片md5码_java 对图片进行MD5算法
  12. java的pdf转永中_永中PDF转Word,你值得拥有!
  13. 计算机体系结构实验三 指令调度和延迟分支
  14. CASS方格网法土石方量计算
  15. MATLAB零相位数字滤波 filtfilt
  16. 高级灰+中国红,这才是家应该有的样子
  17. 世界三大统计分析软件sas splus spss
  18. 外贸管理软件CRM、ERP对外贸企业有什么用?
  19. C#中CoreWebView2 members cannot be accessed after the WebView2 control is disposed错误的解决方法
  20. 只要一步就让WorkNC导出应用至UG等不同CAM数控软件的残留毛坯

热门文章

  1. 【802.11】MCS简介
  2. java飞机图片加载不出的问题
  3. STM32CubeMX系列教程8:配置工程模板(串口+不定长数据收发+DMA+IDLE中断+软中断)
  4. 遭遇 kupqytu.dll/Trojan.Win32.Undef.fzq,kmwprnp.dll/Trojan.Win32.Agent.lmo 等1
  5. 美的:100亿,数字化转型路径与实践
  6. 用友872服务器系统,用友872应用服务器配置
  7. 一种神经传导物质——多巴胺
  8. 2018中国IT领袖峰会
  9. “雷曼事件”雷到我了?
  10. Android 关闭防火墙