腾讯大数据 InLong 框架正式毕业成为 Apache 顶级项目

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是Apache一站式海量数据集成框架——InLong。

腾讯大数据 InLong 框架正式毕业成为 Apache 顶级项目

Apache InLong(应龙)是腾讯捐献给 Apache 社区的一站式海量数据集成框架,提供自动、安全、可靠和高性能的数据传输能力,方便业务构建基于流式的数据分析、建模和应用。 InLong 项目原名 TubeMQ ,专注于高性能、低成本的消息队列服务。为了进一步释放 TubeMQ 周边的生态能力,我们将项目升级为 InLong,专注打造一站式海量数据集成框架。 Apache InLong 依托万亿级别的数据接入和处理能力,整合了数据采集、汇聚、存储、分拣数据处理全流程,拥有简单易用、灵活扩展、稳定可靠等特性。


特性

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

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

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

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

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


架构

腾讯大数据 InLong 框架正式毕业成为 Apache 顶级项目


模块

Apache InLong 服务于数据采集到落地的整个生命周期,按数据的不同阶段提供不同的处理模块,主要包括:

  • inlong-agent:数据采集 Agent,支持从指定目录或文件读取常规日志、逐条上报。后续也将扩展 DB 采集等能力。
  • inlong-dataproxy:一个基于 Flume-ng 的 Proxy 组件,支持数据发送阻塞和落盘重发,拥有将接收到的数据转发到不同 MQ(消息队列)的能力。
  • inlong-tubemq:腾讯自研的消息队列服务,专注于大数据场景下海量数据的高性能存储和传输,在海量实践和低成本方面有着良好的核心优势。
  • inlong-sort:对从不同的 MQ 消费到的数据进行 ETL 处理,然后汇聚并写入 Hive、ClickHouse、Hbase、Iceberg 等存储系统。
  • inlong-manager:提供完整的数据服务管控能力,包括元数据、任务流、权限,OpenAPI 等。
  • inlong-dashboard:用于管理数据接入的前端页面,简化整个 InLong 管控平台的使用。
  • inlong-audit:对InLong系统的Agent、DataProxy、Sort模块的入流量、出流量进行实时审计对账。


基本概念

Name

Description

Other

Standard Architecture

标准架构,包含 InLong Agent/Manager/MQ/Sort/Dashboard 等所有 InLong 组件

适合海量数据、大规模生产的环境

Lightweight Architecture

轻量化架构,只包含 InLong Sort 一个组件,可以搭配 Manager/Dashboard 一起使用

轻量化架构简单、灵活,适合小规模数据

Group

数据流组,包含多个数据流,一个Group 代表一个数据接入

Group 有ID、Name 等属性

Stream

数据流,一个数据流有具体的流向

Stream 有ID、Name、数据字段等属性

Node

数据节点,包括Extract Node 和 Load Node,分别代表数据源类型和数据流向目标类型


InLongMsg

InLong 数据格式,如果从消息队列中直接消费,需要先进行InLongMsg 解析


Agent

标准架构使用 Agent 进行数据采集,Agent 代表不同类型的采集能力

包含文件 Agent、SQL Agent、Binlog Agent 等

DataProxy

将接收到的数据转发到不同的消息队列

支持数据发送阻塞和落盘重发

Sort

数据流分拣

主要有基于 Flink 的 sort-flink,sort-standalone 本地分拣

TubeMQ

InLong 自带的消息队列服务

也可以叫 Tube,拥有低成本、高性能特性

Pulsar

即Apache Pulsar, 高性能、高一致性消息队列服务





—END—

开源协议:Apache2.0

开源地址:https://github.com/apache/inlong

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章