一、定义

将App做成壳容器,业务形成独立的业务库,集成到壳容器里面,从而屏蔽了多App的问题,提高了业务的复用度。在RN混合式架构里面,我们引入了RN容器,通过这个容器,使得业务屏蔽了Android和iOS的平台差异。借助这些成功的经验,我们进一步思考,如果我们尝试进一步的细分外卖的业务场景,将不同场景下的基础能力建设成壳容器,业务集成到容器内,是否可以更好的支撑我们多App复用、单页面多业务团队的当前现状呢?

容器化架构的愿景是:

  • 希望将前端呈现业务的环境抽象出来,将能力进行标准化,形成统一的容器,通过容器去屏蔽平台和端的差异。容器提供上层标准统一的能力接口,使得业务开发人员专注于容器内的业务逻辑的实现,最大复用已有的能力,而不用关注现在的环境是Android还是iOS,现在的端是美团App还是大众点评App。
  • 容器和远端达成呈现协议,使得端上的内容具备随时可变化的能力。容器化架构的实现是存在一定前提的,如果业务的发展本身处在一个探索阶段,还有较多可变的因素,是无法形成稳定的能力层的,这时候建设容器化架构反而使得架构偏向复杂。但对于外卖业务场景来说,经过多年的沉淀固定,外卖业务逐渐形成了一套稳定的业务形态,已经进入到场景细分和快速迭代业务模块的阶段。在这样的阶段下,容器化架构才有可实施的前提。

二、优势

当我们把承载业务的环境进行了抽象和标准化后,就可以获得以下若干点好处。

首先动态化属性提升,我们可以把原有必须在客户端上写的业务放到了远端,业务的动态性得到很大的提升,具备随时上线业务的可能。对于开发过程而言,编译部署的速度也得到了极大提升。如果涉及到客户端的代码改动,那客户端的编译打包,即使是增量的编译,也至少是秒级的编译速度。而容器化后,我们只打包必要的业务,把业务动态下发到容器呈现,客户端代码本身不会有变化,这样就可以从秒级的编译减少到毫秒级的编译。同样,业务动态下发,对减少客户端的包大小也有很大的帮助。

然后,容器位于应用之内,我们向应用中引入相同的容器SDK,容器屏蔽了应用之间的差异,对于Android和iOS平台,在设计上,通过容器这一层去尽可能屏蔽平台之间的差异,使业务开发人员只需要认识容器,不需要花费大量的精力去关注应用和平台之间的差异,从而使得开发效率得到了极大的提升。

其次,容器化后,容器对承载的内容是有接口协议要求的,承载的内容只有满足容器定义的协议才能得到容器带来的好处,这促使业务得到了更细粒度的细分,业务开发时候,对模块化的意识得到了保障。另外,容器这一层提供的接口在Android和iOS上是标准化的,业务的开发也因为依赖的标准化,而趋向标准化,双端的业务一致性得到了提升。这些潜在的架构好处,对未来的业务维护和扩展都打下了比较好的地基。

参考: https://cloud.tencent.com/developer/news/704545

什么是客户端容器化?相关推荐

  1. Atlas:手淘Native容器化框架和思考

    在刚刚过去的云栖大会上,手淘宣布其移动容器化框架Atlas将于2017年年初开源,对这个框架,在过去团队对外部做过一些分享,外界也一直对其十分关注,到现在它终于即将开源了. 本文将介绍Atlas的设计 ...

  2. Atlas:手淘Native容器化框架和思考-玄黎

    在刚刚过去的云栖大会上,手淘宣布其移动容器化框架Atlas将于2017年年初开源,对这个框架,在过去团队对外部做过一些分享,外界也一直对其十分关注,到现在它终于即将开源了. 本文将介绍Atlas的设计 ...

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

    前言 由本章节开始,我们将从支付宝客户端的架构设计方案入手,细分拆解客户端在"容器化框架设计"."网络优化"."性能启动优化"." ...

  4. 工行分布式数据库选型与大规模容器化实践

    来自:DBAplus社群 本文根据顾龚磊老师在[2019 DAMS中国数据智能管理峰会]现场演讲内容整理而成. 讲师介绍 顾龚磊,工商银行开源数据库运维牵头人,带领团队管理上千个MySQL节点的日常维 ...

  5. WebSocket在容器化管理平台的应用

    介绍 Websocket是一个持久化协议,相对于HTTP这种非持久协议而言.它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的,与HTTP一样基于已建立的TCP连接来传 ...

  6. 淘宝开源Android容器化框架Atlas开发者指南

    Atlas 由阿里巴巴移动团队自研,以容器化思路解决大规模团队协作问题,实现并行开发.快速迭代和动态部署,适用于 Android 4.x 以上系统版本的大小型 App 开发. 该框架于2017年3月1 ...

  7. Spring Cloud Kubernetes容器化实践

    随着公司业务量和产品线的增加,项目越来越多,普通运维系统架构对整个软件研发生命周期的管理越来越难,效率低下,难以统一管理.近年来Docker统一了容器标准,对于软件开发流程产生了深远的影响,Docke ...

  8. 全面容器化之后,来电科技如何实现微服务治理?

    作者:汤长征.十眠 MSE 服务治理帮助我们系统以很低的成本无侵入的方式快速实现了全链路灰度能力,进一步提升了我们系统的稳定性,让我们新需求的迭代上线更加地安心. -来电科技架构师 汤长征 来电科技自 ...

  9. mysql中shift h_MySQL复制技术对比与容器化探究

    MySQL和MariaDB 我们都知道,MariaDB是MySQL的一个分支,那么他们之间的区别在哪呢? MariaDB和Mysql的主要区别:MariaDB有12个新的存储引擎,而MySQL有较少的 ...

最新文章

  1. 通用数据库连接执行类(SQL)
  2. 找工作,我该如何是好?
  3. 使用DbVisualizer连接和管理金仓数据库
  4. 第11章 支撑向量机SVM
  5. Refactoring Connection To Sql
  6. 【编程练习】正整数分解为几个连续自然数之和
  7. Spring AOP功能的实现
  8. vc6 往mdb写入信息_HBase运维 | 一张表写入异常引起的HBase Replication 队列堆积
  9. spring boot 拦截器 或 Spring AOP 方式记录请求日志
  10. 记一次带有FSG壳的熊猫烧香病毒分析过程
  11. 我的第一个游戏FoodieThebug完成之后的心得体会 -子龙山人
  12. 组建服务计算机我的电脑有个下三角,excel小三角怎么弄出来
  13. 全网最通俗易懂的「插屏广告」接入方法
  14. 5G对传统金融业的革命性影响丨边缘计算阅读周
  15. 详解~前端人需要了解的DevOps
  16. 100款绿色重量级软件
  17. 网站优化有哪些方法和技巧
  18. java 恶汉和懒汉_java里的 懒汉和恶汉模式-----讲解
  19. Go 语言中使用 bufio.NewReader 等函数实现快读
  20. js计算农历节气的插件

热门文章

  1. dojo引用html模板,深入浅出dojo/request-本地HTML文件 带参数方案-遮罩层《一》_169IT.COM...
  2. YOLOv7默默更新了Anchor-Free | 无痛再涨1.4mAP
  3. 顺舟智能获中国电信智慧家庭产业联盟“智慧家庭创新合作奖”
  4. html 实现模糊效果
  5. 软件测试模型 — 测试金字塔
  6. 推荐 2 个 Spring Boot 工作流项目,轻松搞定工作流!
  7. 4.1 使用旋转和镜像工具制作图标 [Illustrator CC教程]
  8. 3.7 使用极坐标网格工具制作雷达扫描效果 [Illustrator CC教程]
  9. 碳交易计价结算货币:理论、现实与选择
  10. 在ARM板子上把玩Tensorflow Lite