写点什么

阿里百川技术分享: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:098724
用户头像

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

关注

评论

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

Bonree ONE 3.0发布会下一站 9月6日广州见!

博睿数据

新手从零精通云游戏!实测ToDesk云电脑、易腾云、顺网云,云端畅玩黑神话、魔兽世界

小喵子

云计算 云电脑 云游戏 云电竞

BSC币安链/TRC波场链铭文交易所系统开发详细方案/步骤逻辑

V\TG【ch3nguang】

易观分析:2024年第2季度中国图书电商市场交易规模达266.2亿元 市场收缩引发行业隐忧

易观分析

观测云「可观测性解决方案」亮相 828 B2B 企业节

观测云

监控

AI 网关零代码解决 AI 幻觉问题

阿里巴巴云原生

阿里云 云原生

SQL 进阶与 MySQL 进阶管理指南

测吧(北京)科技有限公司

测试

MES系统如何帮助企业提高生产效率

万界星空科技

制造业 mes 万界星空科技mes 生产管理MES系统

观测云广告全国登陆,携手华为云引领企业迈向数智化新纪元

观测云

观测云

如何将文本转换为向量?(方法四)

DashVector

人工智能 向量检索 大模型 向量数据库

性能最快的内存数据存储:基础使用指南

测吧(北京)科技有限公司

测试

短剧cps分销模式系统开发技术讲解

V\TG【ch3nguang】

短剧CPS分销模式系统开发

一文带你了解可观测领域中APM与eBPF的技术差异

乘云数字DataBuff

APM #ebpf

RPA原理:简单了解RPA发展及相关知识

八爪鱼采集器︱RPA机器人

RPA 自动化 RPAxAI

3分钟带你掌握Spring Boot中的定时调度服务

快乐非自愿限量之名

Java spring Spring Boot

JNPF低代码平台:赋能业务人员成为应用开发者

EquatorCoco

低代码 业务开发

谷歌发布 3 款 Gemini 新模型;字节开源 FLUX Dev Hyper SD Lora,8 步生图丨 RTE 开发者日报

声网

dapp/nft元宇宙农场养成种树种植游戏系统开发方案项目搭建

V\TG【ch3nguang】

通过DashScope API调用将多种模态转换为向量

DashVector

人工智能 大模型 向量数据库

Prometheus 告警恢复时,怎么获取恢复时的值?

巴辉特

Prometheus Nightingale Alertmanager FlashDuty

WiFi6 IPQ6010 vs WiFi7 IPQ9574: The Optimal choice for AP Applications in mining areas

wifi6-yiyi

WiFi7

RPA技术实操指南:企业降本增效全攻略

八爪鱼采集器︱RPA机器人

RPA 自动化 RPAxAI

Docker通信全视角:原理、实践与技术洞察

不在线第一只蜗牛

Docker 容器 运维

望繁信科技亮相2024数博会:以流程智能引领数字化转型新未来

望繁信科技

数字化转型 流程挖掘 流程智能 数字北极星 望繁信科技

RPA和BPM:优势与特点详解

八爪鱼采集器︱RPA机器人

RPA 自动化 RPAxAI

2024 年的 Web3 游戏:演变、趋势和市场动态

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

Kafka 到数据仓库:使用 bend-ingest-kafka 将消息加载到 Databend

Databend

企业级低代码解决方案:JNPF平台深度解析

不在线第一只蜗牛

低代码 数字化转型 企业转型

Flink优化之--旁路缓存和异步IO

数新网络官方账号

flink

RPA的基本概念:全面解析RPA技术的工作原理和应用场景

八爪鱼采集器︱RPA机器人

RPA 自动化 RPAxAI

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