Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 89 additions & 0 deletions blog/2025-11-13-release-2.3.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
title: Version 2.3.0 Released
author: doleyzi
author_url: https://github.com/doleyzi
author_image_url: https://avatars.githubusercontent.com/doleyzi
tags: [Apache InLong, Version]
---

Apache InLong (应龙) recently released version 2.3.0, which resolved 59 issues, including 3 major features and 50+ optimizations. Mainly completed the support for Transform capabilities in Sort Standalone module for Kafka/HTTP/CLS/ES subscription types, enabled horizontal scaling for Audit Store, and optimized the Transform SDK and DataProxy SDK. This version also optimizes the operational and maintenance experience for Apache InLong. Additionally, numerous other features were implemented in Apache InLong 2.3.0.
<!--truncate-->

## About Apache InLong

As the industry's first one-stop, all-scenario massive data integration framework, Apache InLong (Yinglong) delivers automated, secure, reliable, and high-performance data transmission capabilities. It enables businesses to rapidly build stream-based data analysis, modeling, and applications. Currently, InLong is widely used across industries such as advertising, payment, social media, gaming, and artificial intelligence, serving thousands of business use cases. It handles over a million billion records/day in high-performance scenarios and over a hundred billion records/day in high-reliability scenarios.

The core positioning of InLong revolves around three keywords: "one-stop," "all-scenario," and "massive data." For "one-stop," InLong aims to shield technical complexities by providing complete data integration and supporting services for out-of-the-box usability. For "all-scenario," it offers comprehensive solutions covering common data integration scenarios in big data ecosystems. For "massive data," its architecture leverages data pipeline layering, fully extensible components, and built-in multi-cluster management to stably support data scales beyond millions of billions of records/day.

## Overview of Version 2.3.0

Apache InLong (应龙) recently released version 2.3.0, which resolved 59 issues, including 3 major features and 50+ optimizations. Key enhancements include:

- **Sort**: Transform capabilities supported in Sort Standalone module for Kafka/HTTP/CLS/ES subscription types
- **Audit**: Audit Store supports horizontal scaling, improving system scalability and stability
- **SDK**: Performance and functional optimizations for Transform SDK and DataProxy SDK

This version also optimizes the operational and maintenance experience for Apache InLong. Other significant features are detailed below.

### Dashboard Module
- Added grouping and stream switching features to the audit page, improving usability
- Fixed the issue of multiple API calls triggered by queries on the audit page, optimizing performance

### Manager Module
- Added comprehensive audit alarm rule management API, supporting more granular alarm policy configuration
- Supported parsing transformation configurations into transformation SQL
- Enabled configuration support for source fields in receivers, enhancing flexibility

### Agent Module
- The agent now supports parallel creation of sender connections to the DataProxy, significantly improving connection initialization efficiency
- Added loading functionality for the agent_ext.properties configuration file to prevent personalized configurations from being lost when agent.properties is overwritten during upgrades

### Sort Module
- Sort Standalone module supports Transform functionality for Kafka/HTTP/CLS/ES subscription types
- Deserialization process now supports returning the byte size of data in a single row, improving data processing visualization and accuracy
- Upgraded the Pulsar SDK to version 4.0.3, enhancing stability and functional compatibility

### SDK Module
- TransformSDK now supports array index access; the WHERE clause supports the LIKE operator; the str_to_json function can convert KV format data to JSON format
- SortSDK defaults to retrieving GroupId and StreamId from unified metadata if these cannot be obtained from the InLongMsgV0 protocol, enhancing compatibility
- Optimized Golang SDK to fix potential data race issues, improving concurrency safety

### Audit Module
- Audit service now supports enabling and disabling custom caching, meeting performance requirements for different scenarios
- Supports audit reconciliation by data stream group dimension, improving verification accuracy
- Added end-to-end reconciliation alarm capabilities, enabling timely detection of abnormal situations
- Added horizontal scaling for Audit Store, enhancing system load capacity

### TubeMQ Module
- Fixed TubeMQ image build failure, ensuring stable image generation

## Key Features of Version 2.3.0

### Dashboard supports audit data reconciliation based on data stream groups
This feature enables querying audit data based on data stream groups to achieve reconciliation functionality
![2.3.0-dashboard-audit](img/2.3.0/2.3.0-dashboard-audit.png)

*Contributed by [@wohainilaodou](https://github.com/wohainilaodou) via [INLONG-11894](https://github.com/apache/inlong/pull/11895)*.

### Audit Store supports horizontal scaling
When the scale of audit data reaches hundreds of billions, a single Audit Store may face performance pressure. This version introduces horizontal scaling capabilities to effectively enhance the system's capacity
![2.3.0-audit](img/2.3.0/2.3.0-audit.png)
- Build a routing topology between Audit Store clusters and AuditId, GroupId, StreamId, supporting flexible routing rule configuration through regular expressions.
- Each Audit Store writes audit data to the corresponding storage clusters (ClickHouse/StarRocks/MySQL) based on the routing topology.
- Audit Service queries the corresponding audit data based on the routing topology.

*Contributed by [@doleyzi](https://github.com/doleyzi) via [INLONG-12009](https://github.com/apache/inlong/pull/12013)*.

### Sort supports dynamic Transform capabilities
InLong Transform enhances InLong's Sort distribution capabilities, adapting to complex and diverse data analysis scenarios on the distribution side, improving data quality and data collaboration, simplifying pre-processing operations before data analysis, and focusing on the business value of data. Supports multiple data format parsing (CSV, KV, Protobuf, Json/Bson, Avro, Yaml, XML, Parquet), supports 180+ functions and arithmetic/logical operators. Transform logic supports dynamic changes during Sort runtime without requiring flow interruption or restart, supports seamless migration between Sort tasks, enabling elastic scaling or resource scheduling.
![2.3.0-transform](img/2.3.0/2.3.0-transform.png)

*Contributed by [@luchunliang](https://github.com/luchunliang) via [INLONG-11958](https://github.com/apache/inlong/pull/11958), [INLONG-11937](https://github.com/apache/inlong/pull/11937), [INLONG-11902](https://github.com/apache/inlong/pull/11902), [INLONG-11888](https://github.com/apache/inlong/pull/11888)*.

## Future Plans
In version 2.3.0, we have enriched and improved our operational capabilities. Welcome everyone to use it. If you have more scenarios and requirements, or encounter any problems during use, please feel free to raise issues and PR. In future versions, the InLong community will continue to:
- Support for collecting from more data sources
- Real-time synchronization supports more data sources and data targets
- Optimized issue of data duplication in weak network environments

We welcome contributions from developers interested in InLong!
Binary file added blog/img/2.3.0/2.3.0-audit.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added blog/img/2.3.0/2.3.0-dashboard-audit.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added blog/img/2.3.0/2.3.0-transform.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
title: 2.3.0 版本发布
author: doleyzi
author_url: https://github.com/doleyzi
author_image_url: https://avatars.githubusercontent.com/doleyzi
tags: [Apache InLong, Version]
---

Apache InLong(应龙) 最近发布了 2.3.0 版本,该版本关闭了 59 个 issue,包含 3 个大特性和 50+ 个优化,主要完成了 Sort Standalone 模块中 Kafka/HTTP/CLS/ES 订阅类型支持 Transform、Audit Store 实现横向扩展、对 Transform SDK 和 DataProxy SDK 进行了性能及功能优化 。同时优化 Apache InLong 运营运维的使用体验。Apache InLong 2.3.0 版本中,还完成了大量其它特性。
<!--truncate-->


## 关于 Apache InLong

作为业界首个一站式、全场景海量数据集成框架,Apache InLong(应龙) 提供了自动、安全、可靠和高性能的数据传输能力,方便业务快速构建基于流式的数据分析、建模和应用。目前 InLong 正广泛应用于广告、支付、社交、游戏、人工智能等各个行业领域,服务上千个业务,其中高性能场景数据规模超百万亿条/天,高可靠场景数据规模超十万亿条/天。
InLong 项目定位的核心关键词是“一站式”、“全场景”和“海量数据”。对于“一站式”,我们希望屏蔽技术细节、提供完整数据集成及配套服务,实现开箱即用;对于“全场景”,我们希望提供全方位的解决方案,覆盖大数据领域常见的数据集成场景;对于“海量数据”,我们希望通过架构上的数据链路分层、全组件可扩展、自带多集群管理等优势,在百万亿条/天的基础上,稳定支持更大规模的数据量。
## 2.3.0 版本总览

Apache InLong(应龙) 最近发布了 2.3.0 版本,该版本关闭了 59 个 issue,包含 3 个大特性和 50+ 个优化,主要完成了

- Sort Standalone 模块中 Kafka/HTTP/CLS/ES 订阅类型支持 Transform
- Audit Store 实现横向扩展,提升系统扩展能力与稳定性
- 对 Transform SDK 和 DataProxy SDK 进行了性能及功能优化

同时优化 Apache InLong 运营运维的使用体验。Apache InLong 2.3.0 版本中,还完成了大量其它特性。

### Dashboard 模块

- 审计页面新增分组及流切换功能,提升使用便捷性
- 修复审计页面查询时接口多次调用的问题,优化性能

### Manager 模块

- 新增完善的审计告警规则管理接口,支持更细粒度告警策略配置
- 支持将转换配置自动解析为对应的转换 SQL
- 接收器源字段新增配置支持,增强灵活性

### Agent 模块

- 支持并发创建发送方连接,显著提升连接初始化效率
- 引入 agent_ext.properties 配置文件加载机制,避免升级过程中 agent.properties 被覆盖导致的个性化配置丢失

### Sort 模块

- Sort Standalone 模块中 Kafka/HTTP/CLS/ES 订阅类型支持 Transform
- 反序列化过程支持返回单条数据的字节大小信息,提升数据处理的可视化和精准度
- Pulsar SDK 升级至 4.0.3,增强稳定性与功能兼容性

### SDK 模块

- TransformSDK 支持数组索引访问,WHERE 子句新增 LIKE 运算符,str_to_json 函数支持 KV 格式数据转 JSON
- SortSDK 在无法从 InLongMsgV0 协议获取 GroupId 和 StreamId 时,默认从统一元数据中读取,增强兼容性
- 优化 Golang SDK,修复潜在数据竞争问题,提高并发安全性

### Audit 模块

- 审计服务支持自定义缓存开关,满足不同场景的性能需求
- 支持按数据流组维度进行审计对账,提升核查精度
- 新增全流程对账告警,及时发现异常情况
- 引入 Audit Store 横向扩展能力,增强系统承载性能

### TubeMQ 模块

- 解决 TubeMQ 镜像构建失败问题,保障镜像稳定生成

## 2.3.0 版本主要特性

### Dashboard 支持基于数据流组的审计数据对账功能
该特性支持基于数据流组查询审计数据,实现对账功能:
![2.3.0-dashboard-audit](img/2.3.0/2.3.0-dashboard-audit.png)
感谢 [@wohainilaodou](https://github.com/wohainilaodou) 对此功能的贡献,具体可以参考 [INLONG-11894](https://github.com/apache/inlong/pull/11895) 。


### Audit Store 支持水平扩展
当审计数据规模达到千亿级时,单个 Audit-Store 可能面临性能压力。本版本新增横向扩展能力,有效提升系统承载能力
![2.3.0-audit](img/2.3.0/2.3.0-audit.png)
- 构建 Audit Store 集群与 AuditId、GroupId、StreamId 之间的路由关系表,支持通过正则表达式灵活配置路由规则。
- 每个 Audit Store 根据路由关系,将审计数据写入对应的存储 (ClickHouse/StarRocks/MySQL) 集群。
- Audit Service 依据路由规则,检索目标存储集群中的审计数据。

感谢[@doleyzi](https://github.com/doleyzi) 对此功能的贡献,具体请参考 [INLONG-12009](https://github.com/apache/inlong/pull/12013) 。

### Sort 支持动态 Transform 能力
InLong Transform 助力 InLong 扩展 Sort 分发能力,分发侧适配复杂多样的数据分析场景,提高数据质量和数据协作,简化用户开始分析数据前的前置操作,聚焦数据的业务价值。支持多种数据格式解析(CSV、KV、Protobuf、Json/Bson、Avro、Yaml、XML、Parquet),支持 180+ 个函数、四则逻辑等运算符,Transform 逻辑支持在 Sort 运行过程中动态变更,无需断流重启,支持在 Sort 任务间无损迁移,实现弹性扩缩容或者资源调度。
![2.3.0-transform](img/2.3.0/2.3.0-transform.png)
感谢[@luchunliang](https://github.com/luchunliang)对此功能的贡献,具体请参考 [INLONG-11958](https://github.com/apache/inlong/pull/11958)、[INLONG-11937](https://github.com/apache/inlong/pull/11937)、[INLONG-11902](https://github.com/apache/inlong/pull/11902)、[INLONG-11888](https://github.com/apache/inlong/pull/11888) 。


## 未来规划

在 2.3.0 版本中,我们丰富、完善了运维能力。欢迎大家使用,如果有更多场景和需求,或者使用期间遇到的问题, 欢迎大家提 Issue 和 PR。在后续的版本中,InLong 社区将继续:

- 支持更多数据源采集能力
- 实时同步支持更多数据源、数据目标
- 优化弱网络环境下,数据重复的问题

我们也期待更多对 InLong 感兴趣的开发者可以参与贡献。
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.