mPaas-MGS服务端架构介绍

简介: 移动网关服务(Mobile Gateway Service,MGS)是移动开发平台(mPaaS)提供的连接移动客户端与服务端的组件产品。该组件简化了移动端与服务端的数据协议和通讯协议,能够显著提升开发效率和网络通讯效率。

一 功能描述

1.简介

移动网关服务(Mobile Gateway Service,MGS)是移动开发平台(mPaaS)提供的连接移动客户端与服务端的组件产品。该组件简化了移动端与服务端的数据协议和通讯协议,能够显著提升开发效率和网络通讯效率。

2.功能特点

移动网关是连接移动客户端跟服务端的桥梁,移动客户端通过网关来访问后台服务接口。移动网关能够:

  • 自动生成客户端的 RPC 调用代码,用户不需要关心网络通信、协议以及使用的数据格式。
  • 将服务端返回的数据自动反解生成 Objective-C 对象,无需额外编码。
  • 提供数据压缩、缓存、批量调用等增强服务。
  • 统一进行异常处理,如弹出对话框、Toast 提示框等。
  • 支持 RPC 拦截器,实现定制化的请求与处理。
  • 实行统一的安全加密机制和防篡改的请求签名验证机制。
  • 限流管控,保护后台服务器。

3.价值优势

移动网关服务的优势在于:

  • 简单配置即可适配多种终端,连接异构的后端服务。
  • 自动生成移动端 SDK,实现前后端分离,提升开发效率。
  • 支持服务注册、发现与管控,实现服务聚合与集成,降低管理成本和安全风险。
  • 提供优化后的数据协议与通讯协议,提高网络通讯质量和效率。

二 产品架构

1.MGS架构

1.1.业务流量

参考上图黄色的实线,首先APP的请求会经过一个负载均衡设备,这个负载均衡设备可能是一个F5,或者ALB、SLB等软负载产品,经过负载均衡之后会把请求转发到mpaasgw的应用,mpaasgw再根据这个API配置的后端协议类型,通过对应的协议转发到对应的后端的业务服务器。

1.2.服务发现

参考上图蓝色虚线,mpaasgw和后端的业务服务器根据环境部署的不同注册中心,选择使用不同的协议来做服务发现,例如当前环境使用SOFA-Registry作为注册中心,那么对应的请求协议为TR;如果当前环境使用的是zookeeper作为服务注册中心,那么请求的协议就是dubbo类型。

1.3.管控流量

参考上图灰色的实线,mAppCenter就是我们平时客户端同学经常使用的mPaaS控制台,我们在mAppCenter页面配置接口,后相关的接口信息经过nginx进程路由到mpaasgw。可以看到mpaasgw自身也依赖一些其他组件,包括数据库、监控和动态配置,其中:数据库主要是负责存储网关的各类配置数据例如API分组的信息等,在阿里云底座下使用的是RDS,在AntStack底座下使用的是OceanBase;监控主要是针对网关的一些日志打印来实现一些API请求的在线监控,错误数监控,耗时情况等等;动态配置这块主要是用于动态的调整一些运行时配置,例如日志的打印级别等等,根据实际是否启用中间件可以分别选用SOFA-DRM或者Zookeeper。

2.MGS网络架构 – AntStack底座

2.1.名词解释

  • DMZ区:因为银行内部一般都不可以直接链接外网,故在银行的内网前面,会有一个叫做DMZ区的地方,这个地方可以访问外网。
  • 行方应用区:银行内网环境,无法直接访问外网。

2.2.业务流量

参考上图蓝色实线,APP的请求经过DNS域名解析,转发到银行的DMZ区,进行证书的卸载,使得阿里云部署的spanner可以直接拿到HTTP的请求信息,后经过mPaaS应用区,请求信息会根据实际情况进行处理,如是银行自己的业务请求,则转发到行方应用区,如是mPaaS的框架请求,则转发给mPaaS的内部组件进行处理。

2.3.管控流量

参考上图mPaaS的应用区里面的灰色实线,由于应用都是部署在内网,所以管控流量的请求走HTTP也就够了,当我们访问mAppCenter的时候,走的是80端口,这个端口是写死的,不支持指定别的端口。还有一点需要知晓的是请求从mAppCenter到mpaasgw的时候,存在端口80转8081的情况。


3.MGS网络架构 – 阿里云底座


3.1.名词解释

  • 中枢VPC:简单的理解为阿里云的一个VPC集群就好。

3.2.业务流量

参考上图蓝色实线,APP的请求经过DNS域名解析,走到阿里云的外网SLB,后到mpaasgw,应用自行甄别请求是否是框架请求,如是则走DUBBP/TR协议转发到内部组件,如不是则转发至后端的业务服务器,用户自行处理。这里值得关注的是:由于mPaaS部署在阿里云的VPC下面,无法直接访问银行的后端业务,所以从中枢VPC到银行后端业务这一段一般是走高速通道,来打通访问。

相关文章
|
1月前
|
运维 网络协议 安全
长连接网关技术专题(十):百度基于Go的千万级统一长连接服务架构实践
本文将介绍百度基于golang实现的统一长连接服务,从统一长连接功能实现和性能优化等角度,描述了其在设计、开发和维护过程中面临的问题和挑战,并重点介绍了解决相关问题和挑战的方案和实践经验。
78 1
|
26天前
|
存储 监控 安全
金石推荐 | 【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式
金石推荐 | 【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式
52 1
|
5月前
|
存储 安全 API
互联网并发与安全系列教程(11) -OAuth2.0协议实现API设计
互联网并发与安全系列教程(11) -OAuth2.0协议实现API设计
41 0
|
10月前
|
缓存 JSON 前端开发
✨✨✨ ServiceWorker 让你的网页拥抱服务端的能力
ServiceWorker 是一个运行在浏览器背后的独立线程,它拥有访问网络的能力,可以用来实现缓存、消息推送、后台自动更新等功能,甚至可以用来实现一个完整的 Web 服务器。
153 0
✨✨✨ ServiceWorker 让你的网页拥抱服务端的能力
|
移动开发 网络协议 网络安全
即时通讯系列: WebSocket从原理到企业项目技术选型(2)
阅读本篇可能需要的预备知识 《试图取代 TCP 的 QUIC 协议到底是什么》、《抓包与反抓包》、《趣谈网络协议》
176 0
|
设计模式 网络协议 算法
即时通讯系列: WebSocket从原理到企业项目技术选型(1)
阅读本篇可能需要的预备知识 《试图取代 TCP 的 QUIC 协议到底是什么》、《抓包与反抓包》、《趣谈网络协议》
447 0
即时通讯系列: WebSocket从原理到企业项目技术选型(1)
|
存储 监控 安全
【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式
传统上,企业应用程序在公司网络中部署和运行。为了获取有关用户的信息,如用户配置文件和组信息,这些应用程序中的许多都是为与公司目录(如Microsoft Active Directory)集成而构建的。更重要的是,通常使用目录存储和验证用户的凭据。例如,如果您使用在本地运行的SharePoint和Exchange,则您的登录凭据就是您的Active Directory凭据。
290 1
【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式
|
运维 监控 安全
即时通讯技术文集(第7期):长连接网关、P2P等 [共10篇]
为了更好地分类阅读52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第7 期。
118 0
即时通讯技术文集(第7期):长连接网关、P2P等 [共10篇]
|
JSON 负载均衡 NoSQL
WebSocket集群分布式改造——实现多人在线聊天室
本文内容摘要: 为何要改造为分布式集群 如何改造为分布式集群 用户在聊天室集群如何发消息 用户在聊天室集群如何接收消息 补充知识点:STOMP 简介 功能一:向聊天室集群中的全体用户发消息——Redis的订阅/发布 功能二:集群集群用户上下线通知——Redis订阅发布 功能三:集群用户信息维护——Redis集合 WebSocket集群还有哪些可能性
1066 0
|
网络协议 测试技术 开发工具
游戏协议测试二:协议工具开发技术介绍
游戏客户端通常是与服务器直接进行通信,如何通过工具来进行协议的修改和创建呢?第一种就是直接在客户端代码里面增加一些类似GM指令的测试接口,来达到对每个接口的测试目的。第二种就是从外部对双方的通讯网络下手,通过第三方将协议截获修改后再发送给对方,从而达到协议测试的目的如图1,本篇文章就是针对第二种方式来做介绍。
1092 0
游戏协议测试二:协议工具开发技术介绍