NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

技术亮点解读:Apache InLong 毕业成为顶级项目,具备百万亿级数据流处理能力

  • 2022-06-23
  • 本文字数:3370 字

    阅读完需:约 11 分钟

技术亮点解读:Apache InLong毕业成为顶级项目,具备百万亿级数据流处理能力

Apache 软件基金会(即 Apache Software Foundation,简称为 ASF)于近日正式宣布,Apache InLong(应龙) 从孵化器成功毕业,成为基金会顶级项目。



Apache InLong 简介


InLong 中文名“应龙”是中国神话中引流入海的神兽,意寓 InLong 在大数据社区生态中的价值:大数据接入集成。该项目最初于 2019 年 11 月由腾讯大数据团队捐献到 Apache 孵化器,2022 年 6 月正式毕业成为 Apache 顶级项目。


InLong 以腾讯内部使用的 TDBank 为基础,依托万亿级的数据摄取和处理能力,将数据采集、聚合、存储、排序数据处理的全流程整合在一起。不仅提供自动、安全、可靠和高性能的数据传输能力,还支持基于流式的数据分析、建模和应用,帮助企业简化数据处理的过程。


比如,InLong 作为一个基于 SaaS 的服务平台,用户可以选择主题的数据发布和订阅,来轻松快速地报告、传输和分发数据,大幅降低了使用门槛。同时 InLong 可以为 100 万亿级数据流提供高性能处理能力,为 1000 亿级数据流提供高可靠服务,保障用户享受到稳定可靠的在线服务。


InLong 支持多种数据访问方式,包括不同类型的消息队列服务集成和实时数据提取、转换、加载以及基于规则的排序功能;在服务方面,InLong 为用户提供统一的系统监控和告警服务。通过细粒度的指标来促进数据可视化,用户可以在统一的数据度量平台中直接查看队列的运行状态,大大提高了业务的主动性。


Apache InLong 的毕业,标志着业界首个一站式大数据集成 Apache 顶级项目诞生,也标志着第一个由腾讯捐献的 Apache 项目孵化成功,中国本土原生的顶级项目再增一员。


Apache InLong 在孵化期间,连续发布 12 个版本,关闭超 2300 个 Issue,来自国内外的社区开发者,一起完成了 Manager 元数据管理重构、基于 Flink SQL 的 Sort ETL 方案、基于标签的跨地域多集群等特性。目前 Apache InLong 正广泛应用于广告、支付、社交、游戏、人工智能等行业,为多领域客户提供高效化、便捷化的数据集成服务。



作为一个面向大数据集成的开源框架,Apache InLong 拥有架构上的优势,项目在发展的过程中逐渐形成了以下特点:


  • 简单易用,基于 SaaS 模式对外服务,用户只需要按主题发布和订阅数据即可完成数据的上报,传输和分发工作。

  • 稳定可靠,系统源于实际的线上系统,服务近百万亿级的高性能及上千亿级的高可靠数据数据流量,系统稳定可靠。

  • 功能完善,支持各种类型的数据接入方式,多种不同类型的 MQ 集成,以及基于配置规则的实时数据 ETL 和数据分拣落地,并支持以可插拔方式扩展系统能力。

  • 服务集成,支持统一的系统监控、告警,以及细粒度的数据指标呈现,对于管道的运行情况,以数据主题为核心的数据运营情况,汇总在统一的数据指标平台,并支持通过业务设置的告警信息进行异常告警提醒。

  • 灵活扩展,全链条上的各个模块基于协议以可插拔方式组成服务,业务可根据自身需要进行组件替换和功能扩展。


Apache InLong 技术亮点


低成本、高性能的 InLong TubeMQ


选用一款消息队列服务,需要考虑成本、性能、稳定性、可靠性、可维护性等方面。在万亿级别的海量数据场景,一般的消息队列服务需要通过大量的机器资源去堆积整体的吞吐能力,会出现机器成本高、超大集群不易维护等问题。InLong TubeMQ 是 Apache InLong 全链路数据集成解决方案自带的一款消息队列服务,相比较业界主流的消息队列服务,拥有低成本、高性能、高稳定性的特点。InLong TubeMQ 是基于有损服务的前提下,采用尽可能保证数据不丢、服务不受阻的思路进行设计,力求方案简单维护简便。


在 TubeMQ 的设计里,分区故障并不影响 Topic 的整体对外服务,只要 Topic 有一个分区存活,整体的对外服务就不会受阻。同时,TubeMQ 的数据时延 P99 可以做到毫秒级,这样保证了业务可以尽可能快的消费完数据,做到尽可能不丢。另外,TubeMQ 独有的数据存储方案设计性能要比 Kafka 的 TPS 至少高出 50% 以上(有些机型上还是翻倍的效果),同时借助存储方案的不同,单机容纳的 Topic 数和分区数更多,进而可以使得集群规模更大,减少维护成本。下图给出了 InLong TubeMQ 和 Kafka、Pulsar 的全方位对比:



当然,在整个 Apache InLong 的架构中,由于对消息队列的支持完成了插件化,InLong TubeMQ 并不是完全和系统耦合,而是作为一种可选服务提供给社区用户。用户可根据开发和使用经验,选择其它消息队列服务,比如 Apache Pulsar 和 Apache Kafka。


基于 Flink SQL 的 InLong Sort ETL


随着 Apache InLong 的用户和开发者逐渐增多,更丰富的使用场景和低成本运营诉求越来越强烈,其中,InLong 全链路增加 Transform(T)的需求反馈最多。为了支持该能力,InLong 实现了基于 Apache Flink SQL 的 InLong Sort ETL 方案。首先,基于 Apache Flink SQL 主要有以下方面的考量:


  • Flink SQL 拥有强大的表达能力带来的高可扩展性、灵活性,基本上 Flink SQL 能支持社区大多数需求场景。当 Flink SQL 内置的函数不满足需求时,我们还可通过各种 UDF 来扩展。

  • Flink SQL 相比 Flink 底层 API 实现开发成本更低,只有第一次需要实现 Flink SQL 的转换逻辑,后续可专注于 Flink SQL 能力本身的构建,比如扩展 Connector、自定义函数 UDF 等。

  • 一般来说,Flink SQL 将更健壮、运行也将更稳定。原因在于 Flink SQL 屏蔽了 Flink 底层大量的细节,有强大的社区支持,并且经过大量用户的实践。

  • 对用户来说,Flink SQL 也更加通俗易懂,特别是对使用过 SQL 用户来说,使用方式简单、熟悉,这有助于用户快速落地。

  • 对于存量实时任务的迁移,如果其原本就是 SQL 类型的任务,尤其是 Flink SQL 任务,其迁移成本极低,部分情况下甚至都不用做任何改动。


基于 Apache Flink SQL 的 InLong Sort ETL 方案,目前已支持 13 种常见的 Data Node,用户也可以基于该方案快速扩展新的 Extract Node 和 Load Node。另外,除了和 InLong Manager/Dashboard 搭配使用,提供全链路数据集成服务(称之为标准架构),InLong Sort 也支持独立运行(称之为轻量化架构),只需要准备 Flink 环境和 InLong Sort,就可以快速完成小规模数据集的 ETL 处理。InLong Sort 整体的技术方案可以见下图:



InLong DataProxy 为海量数据提供路由能力


相比较其他数据集成解决方案,InLong 架构最明显的区别,在数据采集和消息队列中间,多了一个叫做 DataProxy 的服务。InLong DataProxy 主要有连接收敛、路由、数据压缩和协议转换等作用。DataProxy 充当了 InLong 采集端到消息队列的桥梁,当 DataProxy 从 Manager 模块拉取数据流元数据后,数据流和消息队列 Topic 名称对应关系也就确定了。当 DataProxy 收到消息时,会首先发送到 Memory Channel 中进行压缩,并使用本地的 Producer 往后端 Cache 层(即消息队列)发送数据。当消息队列异常出现发送失败时,DataProxy 会将消息缓存到 Disk Channel,也就是本地磁盘中。InLong DataProxy 整体架构基于 Apache Flume,扩展了 Source 层和 Sink 层,并对容灾转发做了优化处理,提升了系统的稳定性。下图为 DataProxy 数据处理流程:



InLong Audit 独立于数据流的全链路审对账服务


InLong Audit 是独立于 InLong 的配套服务,主要用于对 InLong 全链路的 Agent、DataProxy、Sort 模块的入条数、入流量、出条数、出流量等进行实时审计对账,查看数据流是否有丢失或者重复,方便快速定位数据和服务异常。目前 InLong Audit 对账的粒度有分钟、小时、天三种粒度。InLong Audit 的整体架构图,可以参考下方:



在整个 InLong Audit 审计流中,审计 SDK 嵌套在需要审计的子系统中,在数据流级别进行数据埋点,并将审计结果发送到审计接入层。审计接入层将审计数据写到 MQ ( Kafka 或者 Pulsar) 的专门的审计 Topic 中,审计分发服务(AuditDds)消费 MQ 的审计数据,并将审计数据写到 MySQL/Elasticsearch/ClickHouse。在接口层,提供多个时间粒度将 MySQL/Elasticsearch/ClickHouse 的数据进行封装,向前端页面展示、审计对账等提供对账查询服务。


"InLong 社区专注于为海量数据打造统一的、一站式的数据集成框架,帮助企业简化数据的接入、ETL 和分发过程”,Apache InLong PMC Chair 张超表示,“InLong 的毕业,标志着一个开放、多元、成熟的开源社区成功建立。感谢所有帮助过项目的所有导师、开源社区、贡献者等, 在未来的征程中,项目将继续践行 Apache Way,通过社区开发者的共同努力,助力企业数字化转型”。


2022-06-23 13:573525

评论

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

淘宝用户购物行为分析

Databend

SD-WAN架构比MPLS更具哪些优势

Geek一起出海

企业数字化转型的第一步:由被动多云向主动多云转变

品高云计算

Java 继承与多态:代码重用与灵活性的巧妙结合

小万哥

Java 程序人生 编程语言 软件工程 后端开发

人形机器人真的有规模可观的商用场景和消费需求吗?

算法的秘密

如何制定团队年度规划

老张

团队管理 项目管理

探索OpenCV:图像处理的利器

霍格沃兹测试开发学社

容器镜像服务:云原生时代的核心基石

天翼云开发者社区

云计算 容器服务

程序员副业大赏:一边赚钱一边提升技能!

伤感汤姆布利柏

TCL实业登陆MWC 2024:多款移动智能终端产品亮相,擘画移动智能生活新蓝图

Geek_2d6073

百度财报告诉你:2024想赚钱,搞大模型

脑极体

AI

戴着 Vision Pro 录完这期节目,才明白“生活”才是 Killer App|编码人声

声网

ai作画软件有哪些?推荐这8个AI生成图片工具!

彭宏豪95

人工智能 在线白板 AIGC AI绘画 AI作画

穿越时空的软件架构之旅:软件架构设计演化史推演

灸哥漫谈

软件架构 架构师 软件架构设计 软件架构师

Apeaksoft iOS Unlocker for Mac(iOS系统解锁工具)v1.0.56激活版

影影绰绰一往直前

字节被曝秘密研发多个 AI 产品;库克:苹果将「开辟 AI 新天地」丨 RTE 开发者日报 Vol.154

声网

2024最新Java面试八股汇总(含答案,收藏版)

架构师之道

编程 程序员 java面试

好用的文本编辑器推荐

霍格沃兹测试开发学社

技术实践|百度安全「大模型内容安全」高级攻击风险评测

百度安全

已解决org.springframework.web.HttpSessionRequiredException缺少必需的会话属性异常的正确解决方法,亲测有效!!!

小明Java问道之路

《植物大战僵尸2》宣布启动鸿蒙原生应用开发,又一国民级IP游戏加入鸿蒙

最新动态

QLab Pro for Mac(音频剪辑软件)v5.3.5激活版

影影绰绰一往直前

Desktop Stickers for Mac(桌面贴纸)v2.6激活版

影影绰绰一往直前

掌握 Docker PS 命令:轻松管理容器

霍格沃兹测试开发学社

深度解析:Allure报告如何提升你的测试效率?

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

测试

云数据库常见问题与解决方案:从开发工程师的角度看

天翼云开发者社区

云计算 云数据库

网络空间测绘在安全领域的应用(上)

郑州埃文科技

网络空间测绘技术

开营通知 | ​行业专家+名校教授强强联合,带你快速掌握人工智能测试开发技术,提升你的竞争力

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

测试

MWC 2024丨中国电信柯瑞文:建设云网融合的新型数字基础设施

天翼云开发者社区

云计算 互联网大会 算力网络 世界移动通信大会

Programming Abstractions in C阅读笔记:p306-p307

codists

如何使用Sora生成视频 开源Sora 视频生成工具SoraFlows

康哥聊AI

人工智能 开源软件 sora 视频生成

技术亮点解读:Apache InLong毕业成为顶级项目,具备百万亿级数据流处理能力_开源_Tina_InfoQ精选文章