欢迎来到天天文库
浏览记录
ID:37474117
大小:2.16 MB
页数:33页
时间:2019-05-24
《携程下一代无线App架构设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、携程下一代无线App架构设计陈浩然Agenda•App工程解耦和组件化架构•移动网络服务通道治理和优化•无线研发支持平台携程无线现状20%8%72%在线呼叫中心无线端2015从OTA转变为MTA(MobileTravelAgency)如何实现传统互联网业务无线化?组织转变技术Conway’sLaw“Anyorganizationthatdesignsasystemwillproducewhosestructureisacopyoftheorganization’scommunicationstructure.”组织解耦多个业务团队•自行决定设计、开发和发布周期基础框架团队•提供基础框架(开发
2、框架、功能SDK等)和服务(系统管理、网络、存储等)技术解耦解耦传统n-层架构方式•SOA化,提供Microservice解耦数据•提供数据服务,实现数据模型的封装、管理和访问解耦App端开发模式•支持组件化/插件化开发•升级组件化集成打包服务端曾经的问题:•进程耦合酒店机票火车票•缺少负载均衡•越少监控•缺少熔断度假……•安全性风险•……AppService服务端酒店Service机票Service……MobileGatewayApp端CtripWirelessCtripWirelessHotelFlight…...解耦CtripDataCTBusinessCtripFoundationC
3、TCommCTFoundation…....App工程配置解耦App框架组件化核心基础功能SDK化•通讯、定位、Hybrid、数据库、登录、分享、基础库等SDK•可以直接提供给其他BU独立App使用公用业务功能组件化•地图、日历、城市、图片、通讯录等公共组件•减少各BU重复开发工作量App业务容器化隔离性和稳定性:•Bundle间相互独立,单个模块的故障影响范围在内部,不会导致整体App的crash扩展性和伸缩性:•具备一定程度的运行时和动态部署能力,支持Bundle的动态加载和Hotfix性能:•独立统计Bundle的性能指标插件化和动态加载框架-DynamicAPK更少的迁移成本•无需做
4、任何activity/fragment/resource的proxy实现提升启动速度•启动时仅加载必需的模块,Android5.0以下优于MultiDex按需下载和加载任意功能模块•包含代码和资源模块动态加载•支持HotfixHybrid框架Hybrid与Hybrid功能互通•尽可能共用Native组件:地图、图片浏览等离线包模式•设计时即支持离线包模式,降低资源加载时间•因AppSize问题部分低频业务使用直连模式查分增量更新•离线包更新时仅更新发生变化的资源文件•使用7z压缩降低更新包大小,比zip压缩小30%Agenda•App工程解耦和组件化架构•移动网络服务通道治理和优化•无线研发
5、支持平台移动网络通道Native服务网络请求Hybrid服务网络请求Push服务网络请求IM服务网络请求用户行为和性能日志上传网络请求网络通道治理思路减少连接次数避免DNS劫持和内容劫持通过减少发送次数和压缩来减少流量更安全和稳定支持多数据中心多活的网络通道灵活调度Native服务网络请求•使用TCP长连接+短连接实现网络服务•根据网络状况2G/3G/4G/WIFI进行调优参数•根据连接/读/写不同阶段使用重试机制DNS•使用IP列表避免DNS解析失败或者劫持•根据网络延迟选择服务端IP(Ping值估算RTT)•使用ProtocolBuffer+Gzip减少PayloadNative服务网络
6、请求Hybrid服务网络请求常见问题•DNS劫持•内容劫持解决方案•拦截Webview的请求实现转发•Hybrid框架层实现转发Hybrid服务网络请求最终方案•Hybrid框架层通过TCP通道进行业务服务转发•页面等静态资源通过MAA等加速产品实现防劫持和加速其他通道治理尽量基于TCP长连接实现网络服务•Push•IM•用户行为和性能日志上传优先使用成熟服务•国内:MAA等防劫持和加速产品•海外:AkaimaTCP/HTTP专有加速通道Agenda•App工程解耦和组件化架构•移动网络服务通道治理和优化•无线研发支持平台无线研发支持平台为什么需要支持平台?•App端到端性能管理•用户行为统
7、计•持续集成•配置中心•……集成平台•支持Bundle独立打包,实现持续集成,提高集成效率自动化测试平台•实现兼容性、性能和稳定性自动化测试•Record-Replay方式的功能自动化测试发布平台•支持Hybrid和Hotfix发布运营平台•管理App配置监控平台•App性能数据监控持续集成持续集成自动化测试平台基本思路•基于STF(SmartphoneTestFarm)管理机器•Android定制STF实现
此文档下载收益归作者所有