mPaas-MDS服务端架构介绍

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
mPaaS订阅基础套餐,标准版 3个月
简介: 实时发布服务(Mobile Delivery Service,简称 MDS)是 mPaaS 平台的核心基础服务组件之一,提供版本升级包、热修复包、H5 离线包的管理和发布服务,同时支持 开关配置、白名单、发布规则 管理功能。

一 功能描述

1.简介

实时发布服务(Mobile Delivery Service,简称 MDS)是 mPaaS 平台的核心基础服务组件之一,提供版本升级包、热修复包、H5 离线包的管理和发布服务,同时支持 开关配置白名单发布规则 管理功能。

在客户端集成实时发布服务功能后,您可以在 mPaaS 插件中生成新的包,然后在实时发布控制台发布新包,客户端收到新包并进行升级。实时发布服务还支持通过白名单进行灰度发布,您也可以使用高级过滤规则,比如指定机型,来进行更精准的灰度发布。

2.功能特性

  • 灰度发布:在正式发布之前,可以通过白名单来做小规模发布(比如内部员工)以验证新包的功能是否达到预期。还可以进行时间窗灰度发布,在规定的时间段内发布给规定用户人数。如果达到预期就可以进行全网推送。
  • 高级过滤:在进行灰度发布的时候还可以利用高级规则来定义更为精准的白名单人群,比如可以只发给小米手机的用户,多个过滤规则可以叠加,只有在所有的过滤规则都符合的情况下才会推送。
  • 实时回滚:仅支持热修复。即使进行了灰度发布,正式上线的时候还是难免会发生问题,这个时候就可以进行实时回滚,自动回滚到发布前的版本。
  • 自定义验签:为了保障安全性,热修复有自定义的验签流程,保证脚本来源的正确性。 mPaaS 插件中提供生成热修复资源包并对包进行加签的功能。

3.产品优势

  • 支持多产品、多任务、多维度发布管理:多 APP 支持,同时支持正式升级、热修复及 H5 离线包以及实时在线推送。
  • 智能灰度能力,多种升级策略:内部灰度、外部灰度、人群地域、机型网络等多种规则可供选择。
  • 增量差分离线包更新能力:减少数据冗余及设备带宽占用,在移动端网络条件不稳定场景下可体现优势。
  • 高灵敏度、高可用性:升级客户端 RPC 接口能力,提供在线分钟级触达能力。

二 产品架构

1.MDS架构

1.1.应用功能介绍

  • mdsweb:用来提供数据下载通道。
  • mcube:提供核心的灰度规则业务服务。

1.2.RPC请求

     参考上图黄色实线,当我们在手机app客户端发起一个请求(如:更新离线包,检测线上app是否有新的版本等),请求会先经过负载均衡到我们的网关应用mpaasgw。mpaasgw通过注册中心发现mcube上面发布的,和升级版本相关的rpc服务。mcube收到请求以后,会检测是否有更新的版本,并且根据当前的客户端相关信息,判别当前请求是否有权限拉取云上的新版本,确定有权限,那么返回对应的包的相关信息。

1.3.资源请求

     参考如上图的紫色实线,客户端在经过RPC请求以后,获取到了包相关的信息(版本号,离线包的id号,fallback离线地址,离线包的下载地址等),客户端根据离线包的下载地址,解析请求到mdsweb的外网地址。mdsweb收到下载的请求会先检查自己本地的缓存里面,有没有符合要求的包,如果有的话就直接返回给客户端,如果没有的话,会去请求后面的对象存储,获取包以后返回给客户端,然后本地也会进行备份该包的操作。

     考虑到APP用户请求包的并发量,一般我们都会建议在mdsweb前面挂一个CDN用于降低mdsweb的工作压力,避免其被打挂掉的可能。

     所以,在挂载了CDN的情况下,下载包的请求路径会先请求到对应的CDN,CDN发现自己没有对应的包的时候,会回源到mdsweb,拿到对应的包以后,CDN也会存储该包,这样下次请求该包,CDN将直接把包的信息返回给客户端。

1.4.管控流量

     参考如上图的灰色实线,当我们在mAppCenter(就是我们平时客户端同学经常使用的mPaaS控制台)上传一个离线包的时候,请求会经过mAppCenter的nginx路由到mcube,mcube拿到这个离线包以后,先把离线包存储到对应的对象存储,随后把对应的离线包在对象存储里面的地址,存储到数据库。

     当我们在控制台设置一些灰度发布策略,白名单之类的信息,这些信息是存在上图中的缓存里面。

     动态配置这块主要是用于动态的调整一些运行时配置,例如日志的打印级别等等,根据实际是否启用sofa中间件,可以分别选用SOFA-DRM或者Zookeeper进行实现。

2.MDS网络架构 – AntStack底座

2.1.名词解释

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

2.2.RPC请求

RPC请求的主要流程可以参考上方“MDS架构---RPC请求”,值得一提的是我们提供的spanner一般不具备证书卸载的功能,所以需要在请求到达DMZ区的spanner之前完成证书的卸载,一般会放在DMZ区的F5上实现。

2.3.资源请求

资源请求的主要流程可以参考上方“MDS架构---资源请求”,补充一点就是当我们在控制台上下载离线包的时候,走的是mdsweb的内网地址。

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

3.1.资源请求

资源请求有两种情况,一种就是上方“MDS架构---资源请求”的描述,还有一种就是指OSS直接采用公网方式部署,那么当客户端在经过RPC请求,获取到了包相关的信息以后,下载包的请求路径就变成:APP---CDN---OSS。目前在阿里云公有云上的逻辑就是客户端直接通过公网OSS的地址进行下载。

目录
相关文章
|
7月前
|
微服务
01.【微服务架构】服务注册与发现:AP和CP,你选哪个?-- 服务端崩溃检测
【5月更文挑战第3天】保证服务注册与发现的高可用需关注三个方面:服务端崩溃检测、客户端容错和注册中心选型。服务端崩溃时,注册中心通过心跳检测来识别,若心跳中断,立即通知客户端服务不可用,同时持续尝试恢复心跳。若一段时间后仍无法连接,则断定服务端彻底崩溃。这种方法兼顾及时故障通知和防止误判。
102 8
|
存储 jstorm 消息中间件
mPaas-MAS服务端架构介绍
移动分析服务(Mobile Analysis Service,简称 MAS)是 mPaaS 平台的一个核心基础服务组件,是一项方便您轻松地大 规模收集、可视化并理解应用程序使用数据的服务。MAS 通过统计和分析客户端流量、性能质量和用户行为等数据,用数 据实现产品、运营、推广的决策;通过对闪退的分析,快速定位闪退原因,提高程序稳定性。
1248 0
mPaas-MAS服务端架构介绍
|
存储 移动开发 负载均衡
mPaas-MPS服务端架构介绍
消息推送服务(Message Push Service,简称 MPS)是移动开发平台 mPaaS 提供的专业的移动消息推送方案,针对不 同的场景推出多种推送类型,满足您的个性化推送需求。为了提升推送的到达率,mPaaS 在 MPS 中集成了华为、小米等 厂商的推送功能,在提供控制台快速推送能力的同时,也提供了服务端接入方案,方便用户快速集成移动终端推送功能 ,与 App 用户保持互动,从而有效地提高用户留存率,提升用户体验。
1067 0
mPaas-MPS服务端架构介绍
|
缓存 安全 网络协议
mPaas-MSS服务端架构介绍
数据同步是 mPaaS 平台的一个核心基础服务组件。数据同步源自蚂蚁集团内面向移动应用、从服务端到客户端进行海量数据推送的全链路解决方案 — SYNC。该组件提供了一个安全的基于传输控制协议(Transmission Control Protocol,简称 TCP)和安全套接层(Secure Sockets Layer,简称 SSL)的数据通道,能够及时、准确、有序地将服务器端的业务数据主动地同步(SYNC)到客户端 App。
1889 0
 mPaas-MSS服务端架构介绍
|
域名解析 移动开发 监控
mPaas-MGS服务端架构介绍
移动网关服务(Mobile Gateway Service,MGS)是移动开发平台(mPaaS)提供的连接移动客户端与服务端的组件产品。该组件简化了移动端与服务端的数据协议和通讯协议,能够显著提升开发效率和网络通讯效率。
2234 0
mPaas-MGS服务端架构介绍
|
Java API 开发工具
蚂蚁金服 mPaaS 服务端核心组件体系概述:移动 API 网关 MGS
根据《开篇 | mPaaS 服务端核心组件体系概述》,我们已经初步了解 mPaaS 平台后端各组件的核心架构体系。 而在 mPaaS 服务端众多组件中,移动 API 网关 MGS 是连接移动客户端与服务端的组件产品。
5146 0
|
Web App开发 存储 缓存
IM开发基础知识补课(二):如何设计大量图片文件的服务端存储架构?
友情提示:正文内容整理自架构师丁浪的技术分享,部分观点可作抛砖引玉之用,可能并非最佳实践,欢迎留言指正。 1、前言 一个完善的IM系统中通常充斥着大量的图片内容,包括:用户头像、图片消息、相册、图片表情等等,那么在做服务端架构设计时该如何存储这些图片呢? 本文分享的是典型Web应用中大量图片的服务端存储加构的演进过程,但基本的技术原理和架构思路对于IM系统而言同样适用,所以在阅读时可以根据自已IM的实际架构情况,酌情吸取适合您的内容即可。
2633 1
|
网络协议 Java 开发工具
mPaaS 服务端核心组件:移动同步服务 MSS 架构解析
移动同步服务 MSS 是移动开发平台 mPaaS 的核心基础服务组件之一,源自于蚂蚁金服集团内面向移动应用从服务端到客户端进行海量数据推送的全链路解决方案。
2935 0
|
算法 网络协议 Java
蚂蚁金服 mPaaS 服务端核心组件:亿级并发下的移动端到端网络接入架构解析
本文结合贾岛分享内容《亿级并发下的蚂蚁移动端到端网络接入架构》,着重探讨网络接入架构在蚂蚁金服体系内如何演进、如何应对“新春红包”等亿级并发挑战、以及相应的技术架构实践与优化思路如何在 mPaaS 中得到沉淀。
3021 0

热门文章

最新文章