【锁定直播】字节、华为云、阿里云等技术专家讨论如何将大模型接入 AIOps 解决实际问题,戳>>> 了解详情
写点什么

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

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

关注

评论

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

提升职场竞争力!低代码开发师(高级)认证发布

一只大光圈

低代码 数字化 钉钉宜搭 宜搭

适合中小企业的知识库软件有哪些?

小炮

知识管理

【高并发】解密导致并发问题的第三个幕后黑手——有序性问题

冰河

并发编程 多线程 协程 异步编程 精通高并发系列

焱融看|AI 如何驱动存储发展

焱融科技

云计算 AI 分布式 高性能 文件存储

netty系列之:netty中的核心解码器json

程序那些事

Java Netty 程序那些事 4月月更

互联网的下一站,大概率是能源

脑极体

云上MongoDB常见索引问题及最优索引规则大全

MongoDB中文社区

mongodb

预约中,2022京东云产业融合新品发布会线上开启

京东科技开发者

云计算 京东云 产品发布会 直播预约

传统链游的革新,PlatoFarm用实际行动回馈Dao社区

BlockChain先知

微信朋友圈的高性能复杂度

哈喽

「架构实战营」

Go 实现 WebSockets:1.什么是 WebSockets

宇宙之一粟

Go 4月月更

中国SaaS的增长真相|ToB大师课

ToB行业头条

Java 在 IntelliJ IDEA 中提示 set the language level 9

HoneyMoose

C++后端开发进阶学习大纲指南

赖猫

c++

[Day9]-[动态规划]编辑距离

方勇(gopher)

LeetCode 动态规划 数据结构算法

无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接口

crudapi

oracle 零代码 API crud 增删改查

数字产业化快于产业数字化?

WorkPlus

在线XML转JSON工具

入门小站

工具

怒肝 JavaScript 数据结构 — 栈篇(二)

杨成功

数据结构 4月月更

linux之ssh命令

入门小站

Linux

Hoo虎符研究院|一图了解币圈后浪Magic Eden

区块链前沿News

虎符研究院

足不出户,搞定交付——独家交付秘籍(第二回)

阿里巴巴云原生

博睿数据首批加入云科通明湖生态联盟,赋能信创生态谋未来

博睿数据

领域驱动设计(DDD)靠谱么?

架构精进之路

DDD 4月日更 4月月更

【Zeekr_Tech】汽车软件敏捷开发和分支管理

Zeekr_Tech

敏捷开发 智能驾驶

圆桌派来啦!与行业大咖聊聊Dapr的发展与实践

行云创新

云原生 dapr

Apache flink - PartitionNotFoundException

印哥爱学习

flink 消费 kafak 错误排查

我真不信,这年头还有人能懂SpringBoot的ClassLoader加载机制

Java工程师

Java spring 程序员 科技

C++11 智能指针之shared_ptr<void>

轻口味

c++ android 4月月更

Redis集群架构剖析(5):复制与故障转移

非晓为骁

主从复制 redis cluster master

从分层架构到微服务架构(五)之服务化架构

元闰子

架构 从分层架构到微服务架构

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