12 月 21 日,由腾讯云云+社区和腾讯对外开源管理办公室联合主办的技术沙龙在深圳腾讯大厦成功举办。本期活动的主题为「腾讯开源技术」,多位来自腾讯的开源技术专家及工程师围绕 Kona JDK、TencentOS tiny、TubeMQ 等开源项目的开发过程,分享了腾讯在开源之路上取得的最新成果以及过程中所积累的实践经验,并深入探讨了开源技术在大数据、物联网、医疗等不同场景下的发展趋势。
杨晓峰:《Kona JDK 在腾讯大数据领域的实践和发展》
腾讯专家工程师、TEG JDK 团队负责人杨晓峰,在演讲中简要介绍了 Kona JDK 项目的缘起,分析了当前 OpenJDK 的技术发展热点,以及国内该领域的发展状态和趋势,对 Kona JDK 在腾讯大数据领域的需求痛点、实践心得以及未来发展进行了分享。
Open JDK 是 Java SE 标准的免费和开源参考实现。2006 年,Sun 公司承诺逐步开源核心 Java 平台。2007 年,Redhat 公司加入,并发布了 IcedTea。2010年,Oracle 收购 Sun 并接过了项目领导工作,IBM2、SAP 等厂商陆续加入。2014 年,JDK 8 发布,成为采纳速度最快以及接受程度最高的版本。2017 年,JDK 9 发布并随后确立了半年周期发布模式和新的收费模式。2019 年,Tencent Kona 宣布开源。
Tencent Kona 具有这样几个特质,首先免费,使用零成本,其次腾讯会提供长期可靠的支持,第三生产就绪,它经过了腾讯内部超大规模的生产环境的考验。而腾讯也将在未来秉承「最大化兼容性」,「逐步贡献大数据、云计算等领域先进特性」等原则,积极拥抱开源,持续贡献社区。
从目前国内的 JDK 产品应用来看,Oracle JDK 仍占约 70%,OpenJDK 占 21% 但快速崛起中。从版本的维度,JDK 7/8 仍为主流,但值得注意的是,JDK 11 已经得到一定规模的生产实践,国内厂商在 JVM 新技术革新与落地方面越来越深入与自信。
聚焦于大数据领域,目前 Java/JVM 是当之无愧的无冕之王,这主要是得益于 JVM 具备的高生产力、高性能、高可靠性等优点,提供了完美的跨平台能力、完善的工具、海量的类库和框架等。
但在腾讯大数据海量、苛刻的技术场景中,目前JVM的能力短板,逐渐成为了部分前沿场景的瓶颈,体现在集群规模、SLA、内存密度等多个方面。经典 GC 与特定应用场景存在错配,诊断和调优设施仍有较大的能力不足。
与此同时,现代硬件日新月异,JVM 是当前算力的保证,但仍需要大量改进工作,才能更高效地利用向量化等技术,支撑未来持续性能提升的需求。
腾讯将从多个技术层面持续进行 JVM 优化,改进相应的工具等,打造领域最佳 Java 运行环境和解决方案。
叶丰:《基于 TencentOS tiny 开源项目的实践 ── 从零快速打造 IoT 小应用》
腾讯工程师叶丰在演讲中主要介绍了 TencentOS tiny 的项目背景、软件架构、IoT 解决方案、开发实践等内容。
TencentOS Tiny 是腾讯开源的面向物联网领域的精简实时操作系统,它是腾讯物联网产品矩阵底层的关键一环,作用是为云侧海量数据平台进行引流,降低开发门槛,提升开发效率,使物联网终端设备及业务能快速接入腾讯云物联网平台。
从 TencentOS tiny 的架构来看,它已经适配了主流的芯片和模组,提供了最精简的 RTOS 内核,以及丰富的物联网组件,集成了主流的物联网协议。TencentOS tiny 具有小体积、低功耗、丰富的 IoT 组件、可靠的安全框架、良好的移植性、便捷的调试手段等特点,能够满足物联网的差异化需求。
TencentOS tiny 是今年 9 月 18 日正式开源的,发布一周时间就成为了 GitHub 开源项目热榜排行第二名,目前已获得 Star 3500+、Fork 800+,目前已与国内外主流 MCU 及硬件厂商合作,支持的硬件平台数已经超过了 50个。
腾讯 TencentOS tiny 目前也有一些落地的物联网解决方案,比如智能货柜解决方案与智慧种植解决方案。
在智能货柜解决方案中,TencentOS tiny 配合中控系统和 AI 识别服务,完成了扫码开柜、取物、关门自动结算流程,构建了一个无人售货的场景。针对真实场景中不可控的情况,比如由于货物的部分遮挡导致 AI 识别率降低等,TencentOS tiny 提供更多的感知能力:如重力感应等,辅助 AI 做决策,提高了 AI 的识别率。
而在智慧种植解决方案中,TencentOS tiny 主要服务于两个环节 ── 即环境感知侧与调节控制侧。环境感知侧通过采集温湿度、土壤酸碱度、含氧量等环境数据,并上报到 IoT 云平台,云端的决策算法根据环境数据作出相关的温室调节指令,最终由调节控制侧完成温室环境调节。同时 TencentOS tiny 采用了多方案网络适配,支持 WiFi/NB-IoT/Lora,实现链路全加密,保证数据安全。
此外,为了更深入地了解 TencentOS tiny,现场结合 TencentOS tiny 定制开发板,完成了一个小型的端到端农业场景开发实践,包括环境感知,设备控制,数据上云,小程序对接。使用 TencentOS tiny 可以简化设备端开发,同时结合腾讯云物联网平台和小程序云开发,能够实现物联网解决方案的快速、低成本的上线和迭代。