ArchSummit北京2015-《携程移动APP架构优化之旅》-陈浩然

ArchSummit北京2015-《携程移动APP架构优化之旅》-陈浩然

ID:8220122

大小:2.27 MB

页数:32页

时间:2018-03-10

ArchSummit北京2015-《携程移动APP架构优化之旅》-陈浩然_第1页
ArchSummit北京2015-《携程移动APP架构优化之旅》-陈浩然_第2页
ArchSummit北京2015-《携程移动APP架构优化之旅》-陈浩然_第3页
ArchSummit北京2015-《携程移动APP架构优化之旅》-陈浩然_第4页
ArchSummit北京2015-《携程移动APP架构优化之旅》-陈浩然_第5页
资源描述:

《ArchSummit北京2015-《携程移动APP架构优化之旅》-陈浩然》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、携程移动App架构优化之旅陈浩然个人简介陈浩然•专注移动开发七年•负责携程App框架和基础产品团队•关注App开发框架、性能、质量和新技术20%8%72%在线呼叫中心无线端2015从OTA转变为MTA(MobileTravelAgency)产品转变技术产品策略转变iPhoneiPadAndroidPhone简化AndroidPadiOSAndroidWindowsPhone早期现在无线服务端架构(旧)曾经的问题:•完全耦合酒店机票火车票•缺少负载均衡•越少监控•缺少熔断度假……•安全性风险•……MobileService无线服务端架构(新)酒店Service机票

2、Service……MobileGatewayApp端工程解耦UIComponentsHotelFlightVacation…...…...BusinessModulesHybrid解耦Data/URLBus,HybridCommonLibsFoundationFrameworkMobileOSSDKsMobileOSSDKsiOS工程配置CtripWirelessCtripWirelessHotelFlight…...解耦CtripDataCTBusinessCtripFoundationCTCommCTFoundationCTLocationiOS工程配置Ap

3、p端工程解耦–经验各模块资源和代码完全独立•iOS使用RunScript、Android使用gradle解决资源问题工程引用方式•稳定的公共模块采用lib库方式•改动频繁的模块采用工程方式互操作•数据总线实现接口调用;URL总线实现页面跳转优化编译设置•支持模块按需编译App开发框架优化问题•开发框架是否满足产品开发需求?•性能和质量是否达到用户体验要求?App开发框架优化–SDK化和组件化核心功能SDK化•通讯、定位、Hybrid、数据库、登录、分享、基础库等•直接提供给其他BU独立App使用公用业务功能组件化•地图、日历、城市、图片、通讯录等13个公共组件•

4、减少各BU重复开发工作量App开发框架优化–性能采集如何采集性能数据•自建:日志SDK采集日志,上传至服务端,日志消息经Kafka存入HDFS(RCFile格式),Hive用于查询•第三方:OneAPM、听云等工具App开发框架优化–性能采集如何制定性能指标•网络性能:网络服务成功率、平均耗时、耗时分布•定位:获取经纬度成功率、城市定位成功率•启动时间、内存、流量等指标•多种纬度:系统、App版本、网络状况、位置等App开发框架优化–性能采集如何展示数据:•每日每小时自动生成性能报表看板,简单直观App开发框架优化–网络服务优化•使用TCP长连接实现网络服务•根

5、据网络状况2G/3G/4G/WIFI进行调优参数•根据连接/读/写不同阶段使用重试机制DNS•使用IP列表避免DNS解析失败或者劫持•根据网络延迟选择服务端IP(使用Ping)•使用ProtocolBuffer+Gzip减少PayloadApp开发框架优化–网络服务优化App端到端网络服务成功率达到99.87%100.00%99.00%98.00%97.00%96.00%95.00%V5.10V6.0V6.1V6.2V6.3V6.4V6.5V6.6V6.7V6.8V6.9App开发框架优化–Hybrid框架App开发框架优化–Hybrid框架Hybrid与Hyb

6、rid功能互通•尽可能共用Native组件:地图、图片浏览等离线包模式•设计时即支持离线包模式,降低资源加载时间•因AppSize问题部分低频业务使用直连模式查分增量更新•离线包更新时仅更新发生变化的资源文件•使用7z压缩降低更新包大小,比zip压缩小30%App开发框架优化–HotfixiOSHotfix•基于JSPatch开源框架•不支持资源更新AndroidHotfix•基于携程开源框架DynamicAPK•支持资源更新和业务模块整体更新增量更新•与Hybrid增量包共用下发机制Android插件化和动态加载框架-DynamicAPK更少的迁移成本•无需做

7、任何activity/fragment/resource的proxy实现提升启动速度•启动时仅加载必需的模块,Android5.0以下优于MultiDex按需下载和加载任意功能模块•包含代码和资源App开发框架优化–地图iOSMap精度问题•国内看海外地图•海外看国内地图App开发框架优化–地图解决方法•使用自定义Webview版GoogleMapAndroidiOSChinaAMapiOSMapGooglemap/LBSAMapOverseaGoogleMapiOSMapApp开发框架优化–其他Hybrid网络性能优化•通过Hybrid接口走Native网络服

8、务•避免DNS劫持、利用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。