# surfing-batch **Repository Path**: lyilan8080/surfing-batch ## Basic Information - **Project Name**: surfing-batch - **Description**: Surfing-Batch是一款优秀的批处理框架,以Spring Boot为基础,智能组合异步处理和分批处理策略,显著提升大规模数据任务的处理效率。易于集成、API设计清晰,让开发者专注于业务逻辑,无需纠结底层技术细节。无论是大数据的导入导出,还是批量更新操作,Surfing-Batch均能轻松应对。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 9 - **Created**: 2023-08-23 - **Last Updated**: 2023-08-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Surfing-Batch Surfing-Batch 是一个高度抽象和封装的批处理框架,专为解决大规模、重复的任务而设计。该框架采用了异步并发的方式执行任务,可以大幅提高任务处理的效率。 ## 主要特性 - **高效执行**:Surfing-Batch 使用 Java 的 `CompletableFuture` 和 `Executor` 实现异步执行,极大地提高了批处理性能。 - **抽象封装**:Surfing-Batch 的 API 设计采用函数式编程风格,使用者只需要传递行为,无需关心底层实现细节。 - **易于扩展**:用户只需要实现简单的接口,就能定制任务的处理逻辑和回调行为,以满足各种复杂的需求。 - **Spring Boot集成**:提供了Spring Boot Starter,使得在Spring Boot项目中使用更为方便。 ## 适用场景 Surfing-Batch 可以在以下场景中使用: - **数据迁移**:如在系统升级或迁移过程中,需要将大量的数据从一个数据库迁移到另一个数据库。 - **索引构建**:如在创建搜索引擎的索引时,需要处理大量的文档数据。 - **日志分析**:如需要对大量的日志文件进行分析,提取出有用的信息。 - **文件处理**:如需要对大量的图片进行压缩,或对大量的文档进行格式转换。 - **批量调用API**:如需要对远程的API进行大量的调用,例如发送大量的邮件或消息。 ## 快速开始 请参阅我们的[快速开始指南](./QuickStart.md)。 ## 项目结构 本项目由两个主要模块组成: - **surfing-batch-app**:批处理任务的具体实现,包含任务的处理逻辑和回调行为。 - **surfing-batch-starter**:批处理框架的核心,包含任务的划分、执行和回调等基础功能。 ## 联系我们 有任何问题或建议,请随时通过 QQ联系作者,作者QQ: 51198641。