cover_image

掌门教育 移动端 ZMLego Mesh 组件化容器

--掌门移动中台 掌门技术
2021年08月20日 10:58

鸣谢 掌门大项目部 与 掌门1对1团队 的支持

一、团队背景

掌门课堂云移动中台于2020年6月成立,团队目标是建设掌门核心功能SDK以及掌门核心功能线上工单治理

二、团队发展

掌门课堂云移动中台经历了2个大的建设阶段:2020年 Q3&Q4 季度 摸索阶段、2021年 Q1&Q2 季度 产出阶段

2.1 摸索阶段

在成立之初的 2020年 Q3&Q4 季度中,课堂云移动中台从0到1输出了4个核心SDK和拿到核心目标结果,在解决业务痛点时,发掘业务需求,为下一步移动中台建设提供建设方向

2.1.1 输出核心SDK

  • 课件 SDK:课件工单治理 

  • H5 SDK:OpenAPI 建设

  • 本地化日志 SDK:提升研发和生产的问题排查效率 《掌门技术部项目奖》

  • 白板 SDK:支持单白板与多白板,提升课堂内老师与学生上课交互体验

2.1.2 核心目标结果

作为课堂云移动中台的第1个技改指标 ,课件SDK的上线有效降低线上工单率和大幅度降低启动时间99线,将核心指标降为观察指标

1.课件工单率 工单率 千分级 降为 万分级,下降 80%

图片

2.课件启动时间 99线 7.5s 降为 1.5s ,下降 80%

优化前

图片


优化后

图片

2.1.3 课堂云移动中台团队成员也经历了3个重要变动:初创期、扩张期、调整期,团队在变动中逐步思考清楚团队定位与核心目标

  • 2020Q3 课堂云移动组成立 - 课件工单治理

  • 2020Q4 & 2021Q1 课堂云移动组与基础架构移动组合并,团队调整为课堂云移动中台 - 掌门移动中台核心SDK与掌门移动端aPaaS平台

  • 2021Q2 课堂云移动中台与音视频组合并,团队调整为课堂云大前端中台  - 掌门大前端aPasS平台

2.2 产出阶段

随着 2021年 Q1&Q2 季度中,移动中台与核心业务更加紧密的联系,依托于新业务发展,同时总结与发掘当前业务痛点,移动中台决定不再只提供单一功能SDK给相关业务方使用,采用封装移动中台 基础SDK 到 aPaaS 平台,业务使用 aPaaS 平台研发的建设方向。

移动中台 aPaaS 平台建设的首要解决的就是业务积弊已久的课堂重复建设问题,由于掌门多年各个业务线快速发展,已经产生了几十个不同课堂场景,各个课堂之间相互独立,但是其中 70% 功能相似,同时在不同课堂之间业务功能迁移成本巨大,维护成本较高,严重增加业务的试错成本和推广成本,不能很好的适应互联网小步快跑的产品节奏。

掌门课堂云移动中台与掌门大项目部、掌门1对1技术部结合以上问题,依托自习室、超级小班课、1对1课堂技改3个业务项目,发起 大项目部 2021年 Q1&Q2 核心项目:课堂融合项目,目标通过 ZMLego’Mesh 组件化容器方案,统一掌门课堂技术架构,为后续掌门 aPaaS 平台建设打下坚实的基础。

2.2.1 梳理业务痛点

1.痛点1 3多3慢 : 

  • 多BU、多业务、多场景

  • 研发慢、升级慢、排查慢

2.痛点2 代码不清晰:视觉、逻辑、数据耦合度较高,形成泥球效应

2.2.2 解决核心问题

  • 研发周期长:采用非统一技术架构,导致人力分散,业务需求消化率不高

  • 维护、升级成本高:基础 SDK 接入各端,需要兼容业务场景,而非统一接入方案,导致基础 SDK 接入与升级都需要做大量业务适配,导致稳定性不足

  • 排查效率低:研发 BUG 与 线上问题,需要场景复现,客户端监控基本丢失

  • 高耦合、低扩展:功能与业务抽象不足,业务强耦合,上下游变化会导致功能衰退,甚至需要功能重构

  • 重复造轮子:相同功能相似,仍需重0建设

2.2.3 价值思考

业务价值

图片

中台价值 - 在中台基础与业务需求之间起到承上启下的作用

  • 降低业务功能接入&迁移成本

  • 降低中台基础功能升级成本

  • 提供生产稳定性保障

图片

2.2.4 梳理移动中台与业务之间的关系 - 桃型结构

图片

2.2.5 掌门课堂的拆分与重组:通过 ZMLego‘Mesh DSL 动态组装业务场景 ,有效降低业务研发成本

图片


三、ZMLego‘Mesh 组件化容器

3.1 简介

ZMLego’Mesh 组件化容器是一个移动端组件化解决方案,采用类似 ServerMash 容器化架构,使用边车模式(SideCar)将组件进行积木化拆分,再根据不同业务场景对组件进行动态组装的高度复用性解决方案。

3.2 特性

  • 事件驱动,采用反应式框架 

  • 组件高内聚 

  • 组件高复用 

  • 组件易扩展

3.3 技术方案

3.3.1 边车模式 - 功能插件化,随意插拔

图片

3.3.2 组件网格化 - 结构清晰,低耦合 ,高复用

图片

3.3.3 组件定制化 - 不同业务场景,组件各功能可随意定制化开发,通过DSL动态配置

图片


3.3.4 组件矩阵化 -  业务高内聚,通过 DSL 动态组装业务场景

图片


3.4 架构设计

3.4.1 关系架构:视图组件、管理组件、业务调用、基础SDK 之间相互隔离,通信交互使用 通信管道 的 消息 进行

图片

3.4.2 核心架构

图片

3.4.3 事件/状态通信

图片

3.4.4 网络通信

图片

四、业务场景落地

图片


五、未来规划方向 ,随着掌门技术的发展,课堂云移动中台团队会在5个方面逐步完善 掌门 aPaaS 平台

  • 研发工具

  • Sketch to Code

  • 可视化动态组装 

  • 可视化流程引擎

  • 全链路监控


图片


掌门技术 · 目录
上一篇掌门小狸App iOS组件化实践
继续滑动看下一个
掌门技术
向上滑动看下一个