50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

阿里百川技术分享:OneSDK 与手机淘宝技术能力开放

  • 2015-08-03
  • 本文字数:2505 字

    阅读完需:约 8 分钟

7 月 16 日,阿里巴巴集团在杭州召开阿里百川无线开放大会,来自阿里巴巴的技术专家向与会观众介绍了百川无线开放背后的技术细节。

阿里百川阿里巴巴集团无线开放平台,为移动开发者(涵盖移动创业者)提供快速搭建APP、加速APP 商业化、提升用户体验的解决方案。在阿里百川无线开放大会的技术专场,阿里技术专家分享了关于TAE 2.0、OpenIM、移动安全等方面的技术细节,InfoQ 之前已对 TAE OpenIM 的技术负责人做过采访,今天就让我们来了解一下阿里百川无线开发 SDK 以及手机淘宝技术能力开放。

OneSDK:组件式架构解决 SDK 集成问题

阿里巴巴共享业务事业部的高级无线技术专家王玉明给大家分享了阿里百川的开放 SDK 技术:OneSDK,致力于解决大量 SDK 带来的集成问题。

对于目前的移动开发来说,诸如推送、IM、广告、统计等功能,开发者自己开发耗时耗力,使用第三方服务是明智选择,而使用这些服务都会用到它们提供的 SDK。因此除了少数应用外,大量使用第三方 SDK 是不可避免的趋势。

但是,随着大量第三方 SDK 的使用,一些问题也慢慢暴露出来,比如:

  • 多平台。不同的 App 管理体系,多个密钥带来的安全问题,以及多次接入带来的集成成本。
  • 多风格。不同 SDK 的初始化方法、接口标准,以及编程风格。
  • 复杂依赖。不同 SDK 本身的依赖不同,会带来依赖关系混乱,版本冲突,以及引入不需要的依赖的问题。
  • 包大小。由于不同 SDK 可能包含重复能力,带来重复依赖,以及不需要的资源导入,会带来包大小的超标。

阿里百川因为同时开放了很多服务,会带来很多 SDK,因此它推出了 OneSDK 来解决这个问题。使用 OneSDK,开发者只需要下载一个 SDK 包,一次接入动作,一个初始化入口即可完成集成,为开发者带来一致性的体验。

在架构上,OneSDK 分为业务组件、技术组件和组件容器。业务组件包括淘宝电商、云账号、OpenCRM 等。技术组件包括推送、多媒体云、通讯、安全、 Cache、网络等。组件容器包括总线、组件管理、系统服务三大类。其中最关键的是组件管理,包括组件发现、依赖管理以及生命周期管理功能,通过这些功能 实现 SDK 的组件化。

OneSDK 通过统一接入层与百川云服务进行交互,统一接入层包括网关、CDN、IM、数据同步等,因为涉及到多个业务,统一接入层是由淘宝和阿里云联手打造,并支撑多次双十一,在安全方面,能做到全链路加密和会话级安全,并且进行了无线网络、流量、电量等优化,让 SDK 更高效。

另外,OneSDK 还接入了阿里百川的统一支撑体系,包括自动降级、监控支撑、修复响应等,加强 SDK 的稳定性和处理能力。其中 OneSDK 还接入了 Crash 监控,能监控并统计应用的 Crash 信息。

OneSDK 还接入了高德、友盟等第三方 SDK,并同样的提供一致体验,开发者只需选择想要使用的 SDK 即可生成最小化的 SDK 包。

OneSDK 所接入的服务和能力中还包括了手机淘宝所开放出来的能力,手机淘宝经过多年架构演进也积累了很多经验,这次技术分享上,手淘也分享了它们开放出来的能力。

手机淘宝技术能力开放

阿里巴巴无线事业部总监吴志华给大家分享了手机淘宝技术能力开放的话题,包括手机淘宝的架构治理、移动网络建设、重点组件产品介绍等。

移动开发技术已经经过了 10 年发展。从 2005 年的 KJava 为代表的单进程技术,到 2008 年 Symbian 的应用级动态部署,再到 2010 年左右以 iOS/Android 为代表的多进程,其后涌现出来的进程级动态部署的插件化,以及 2014 年到如今的容器级动态部署。

淘 宝从 2009 年开始关注移动端,先后经历了 WAP、Mobile Web,到 API 网关、HTML5 容器,以及 2014 年的容器架构。经历了很长时间的架构治理之路。在 2013 年淘宝对移动实行 ALL IN 战略之后,手机淘宝开始反思客户端 App 架构该如何设计,以及如何应对大量业务同时涌入、超 10 个团队的代码整合等问题。他们思考的结果就是一切皆组 件(Bundle),Bundle 装载在容器里,任一 Bundle 均可以动态部署,阿里无线终端容器框架 (Altas),管理组件生命周期,提供组件运行 必须服务,实现组件间环境隔离、权限控制、运行期性能监控等功能。另外,在基础架构演进、工具体系完善、研发机制变革上,手机淘宝也做了许多工作。


(手机淘宝容器架构)

关于手机淘宝客户端架构演进,阿里无线技术专家李敏在 2014 年 ArchSummit 北京上做过分享,InfoQ 也做过详细报道,感兴趣的可以查看,这里就不再赘述。

在 移动网络建设上,手机淘宝采用了 SPDY 协议来降低延迟,加速数据传输,并且上马了异地多活与容灾措施以保障业务的高可用性。另外还推出了有特色的移动云 通道服务,该架构有高实时高到达率双向通道、海量长连接的接入层服务 Aserver、使用无线特色的 TLS 加密协议 Slight SSL 0RTT、灵活的网络调度功能 (AMDC) 等特点。

在手机淘宝技术能力开放方面,他们对手机 淘宝的能力做了一个全面梳理,分为基础研发平台、基础服务能力、无线电商能力三部分。其中基础研发平台包括研发支撑、运维平台、容器架构、 HotPatch、Push 和数据统计等,基础服务包括网络通道服务、多媒体服务、安全、算法能力等,无线电商能力则是淘宝相对于其它第三方开发者服务特 有的能力,包括交易组件、店铺对外开放等。

在开放出来的技术能力中重点的组件产品有:

  • Crash 上报能力,支持 NDK C/C++ crash 上报和分析,并提供实时监控平台,分析 crash 趋势并告警。
  • 性能栅栏,通过 AOP 注入方式,进行非侵入式的性能监控。收集的性能指数包括绘图性能(帧率、ANR、View 层级)、内存性能(内存泄露、 OOM、内存占用)、耗电分析、网络性能、调度性能(非线程池中 Thread 对象的监控)、代码缺陷(开启严格模式并收集代码缺陷)。
  • Agoo 推送,业内领先的单台服务器建链 400 万,同时在线长连接 1.2 亿 +,接入集团内部应用,经历了 3 次双十一。并且支持消息盒子和国际化。
  • WEBP/BPG,手淘使用 WEBP 和 BPG 减小图片尺寸,优化解码性能。

另外,手机淘宝还在内部推动一些通用底层技术的开源,在最近开源了其 HotPatch 技术:无侵入 AOP 框架 Dexposed,InfoQ 对其有过报道,将来手淘还会开源其客户端容器框架 Atlas。

从上面我们可以看到,阿里百川的确是以技术作为驱动,输出自己的技术能力帮助开发者和移动创业者走向成功,而开放的心态,将帮助它走得更远。

2015-08-03 01:099154
用户头像

发布了 164 篇内容, 共 116.9 次阅读, 收获喜欢 392 次。

关注

评论

发布
暂无评论
发现更多内容

Android Styling System

Changing Lin

android

屏幕共享功能的应用

anyRTC开发者

android 音视频 WebRTC 在线教育 视频会议

不可忽视的PHP数据精度损失问题

架构精进之路

php 七日更 28天写作

区块链养成宠物游戏开发动物世界app系统搭建方案

v16629866266

Elasticsearch和Kibana变更开源许可协议;Facebook利用AI增强为视障人士描述照片能力

京东科技开发者

云计算

【年度重磅】2020华为云社区年度技术精选合集,700页+免费下载!

华为云开发者联盟

数据库 AI 云原生 物联网 华为云

娄底携手浪潮,打造了智慧城市建设的“娄底样板”

开发的必杀技:Git 的分支管理

华为云开发者联盟

git Linux 分支

八大案例带你了解图数据库如何洞察数据间关联价值

NebulaGraph

图数据库 图数据库实战

智能building 之智慧城市

张老蔫

28天写作

计算机网络学习第一课

落曦

【图文并茂,点赞收藏哦!】重学巩固你的Vuejs知识体系

我是哪吒

程序员 面试 Vue 大前端 Web

并发条件队列之Condition 精讲

伯阳

AQS 多线程 lock Condition 条件队列

趋势预测:2021年五大流行的编程语言

禅道项目管理

Java php python 爬虫 趋势

《Java 面经手册》PDF,全书5章29节,417页11.5万字,完稿&发版!

小傅哥

Java 面试 小傅哥 PDF 面经手册

面试官常问的垃圾回收器,这次全搞懂

Silently9527

Java JVM 垃圾回收 GC

架构师训练营-大作业:物流系统架构设计

晴空万里

架构师训练营第2期

红帽架构师:为什么KubeEdge是2020年我最喜欢的开源项目?

华为云原生团队

开源 云原生 边缘计算 边缘技术

云原生架构下复杂工作负载混合调度的思考与实践

星环科技

云计算

【并发编程的艺术】内存语义分析:volatile、锁与CAS

程序员架构进阶

Java 架构 Java内存模型 28天写作

2021年1月国产数据库排行榜:OceanBase重回前三,TDSQL增长趋势最强劲!

墨天轮

数据库

使用 async_hooks 模块进行请求追踪

智联大前端

node.js 大前端 koa async_hooks

毫不留情地揭开负载均衡的真面目~

田维常

负载均衡

30+岁、没转管理、加不动班,我的竞争力从哪里来?

博文视点Broadview

从定义到AST及其遍历方式,一文带你搞懂Antlr4

华为云开发者联盟

Java AST 语言 antlr4 语法分析器

第二周作业

Geek_6a8931

甲方日常 90

句子

工作 随笔杂谈 日常

转角遇上Volcano,看HPC如何应用在气象行业

华为云开发者联盟

容器 云原生 HPC Volcano 批量计算

Kubernetes Pod篇:带你轻松玩转Pod

xcbeyond

Kubernetes pod 28天写作 Kubernetes从入门到精通 服务编排

数据库覆盖式数据导入方法:部分和完全

华为云开发者联盟

数据库 sql 数据 DWS 覆盖式导入

2021分享三面阿里:Java面试核心手册+Java电子书+技术笔记+学习视频

比伯

Java 编程 架构 面试 程序人生

阿里百川技术分享:OneSDK与手机淘宝技术能力开放_移动_徐川_InfoQ精选文章