Apache InLong简介
Apache InLong是一个一站式、全场景的海量数据集成框架,旨在为用户提供自动化、安全可靠的数据传输能力。InLong支持数据摄取、数据同步和数据订阅等多种功能,能够同时处理批量和流式数据,为构建实时数据分析、建模等应用提供了强大的支持。
InLong最初由腾讯开发,在过去8年中为其在线业务提供了大规模数据处理服务,每天处理超过80万亿条数据。整个平台集成了5个模块:摄取、汇聚、缓存、排序和管理,使得业务只需提供数据源、数据服务质量要求、数据落地集群和格式,就可以实现数据从源端到目标集群的持续推送,极大地满足了大数据场景下的数据上报需求。
InLong的主要特性
Apache InLong提供了多种强大的功能:
-
易用性: InLong采用SaaS服务平台模式。用户可以基于主题轻松快速地发布和订阅数据,实现数据的上报、传输和分发。
-
稳定性和可靠性: InLong源自实际的在线生产环境,具有处理10万亿级数据流的高性能处理能力,以及为1000亿级数据流提供高度可靠服务的能力。
-
功能全面: InLong支持多种类型的数据接入方法,可以与不同类型的消息队列(MQ)服务集成。它还提供基于规则的实时数据ETL和排序功能。用户可以插件化地扩展系统功能。
-
服务集成: InLong提供统一的系统监控和告警服务。它提供细粒度的指标以方便数据可视化。用户可以在统一的数据指标平台上查看队列的运行状态和基于主题的数据统计。用户还可以根据业务需求配置告警服务,以便在出现错误时及时获得通知。
-
可扩展性: InLong采用可插拔架构,允许用户基于特定协议插入模块到系统中。用户可以根据业务需求替换组件和添加功能。
InLong的适用场景
InLong适用于以下场景:
- 需要快速构建数据上报平台的环境
- 超大规模数据上报环境
- 需要自动对上报数据进行分类和落地的环境
用户可以通过以下方式使用InLong:
- 通过SDK集成InLong,管理数据流
- 使用InLong命令行工具查看和创建数据流
- 在InLong仪表板上可视化操作
InLong支持的数据节点
InLong支持多种数据源和目标节点,包括:
- 提取节点: Auto Push、File、Kafka、MongoDB、MQTT、MySQL、Oracle、PostgreSQL、Pulsar、Redis、SQLServer等
- 加载节点: Auto Consumption、ClickHouse、Elasticsearch、Greenplum、HBase、HDFS、Hive、Iceberg、Hudi、Kafka、MySQL、Oracle、PostgreSQL、SQLServer、Doris、StarRocks、Kudu、Redis、OceanBase等
这些广泛的支持使InLong能够适应各种复杂的数据集成场景。
构建和部署InLong
构建InLong需要以下环境:
- Java JDK 8
- Maven 3.6.1+
- Docker 19.03.1+
用户可以通过以下命令编译和安装InLong:
mvn clean install -DskipTests
InLong支持多种部署方式:
- 单机部署
- Docker Compose部署
- Kubernetes部署
- 裸机部署
这些灵活的部署选项使InLong能够适应不同的生产环境需求。
开发和贡献
InLong欢迎开发者参与贡献。开发者可以通过以下方式扩展InLong:
- 为Agent开发插件以扩展提取数据节点
- 为Sort开发插件以扩展数据节点
- 为Manager开发插件以扩展数据节点
- 为Dashboard开发插件以扩展数据节点页面
结语
Apache InLong作为一个一站式的海量数据集成框架,为用户提供了强大而灵活的数据处理能力。无论是数据摄取、同步还是订阅,InLong都能够满足用户的需求。其高性能、高可靠性和可扩展性使其成为处理大规模数据流的理想选择。随着数据规模的不断增长和实时处理需求的增加,InLong将在数据集成领域发挥越来越重要的作用。
如果您对Apache InLong感兴趣,欢迎访问项目官网了解更多信息,或者加入InLong社区,为这个开源项目贡献自己的力量。让我们共同努力,推动大数据处理技术的发展,为更多企业和开发者提供优秀的数据集成解决方案。