gpt4 book ai didi

spring - Spring 批的优点

转载 作者:IT老高 更新时间:2023-10-28 13:48:24 33 4
gpt4 key购买 nike

我了解 Spring Batch 框架以 block 的形式处理数据。但是,我在想,当相同的分 block 功能可以通过 java 实现时,为什么我们需要使用批处理框架。

如果有更多的理由去 Spring Batch 框架,请告诉我?

最佳答案

让我稍微改一下你的问题,看看这是否解决了它。

Spring Batch 提供了我在构建批处理应用程序时必须自己处理的哪些内容?

Spring Batch 是 JSR-352(java 批处理规范)的基础,自从该规范发布以来,java 空间中现在有很多可用的 Spring Batch。话虽如此,Spring Batch 仍然提供了很多超出基本 Java 功能范围的功能:

在“基本”批处理作业中

在一个简单的批处理作业范围内,Spring Batch 提供了一组实用程序和实现,这些实用程序和实现已经在所有企业垂直领域进行了实战测试。一些例子是:

  • 超过 17 个 ItemReader 和 15 个 ItemWriter 实现,涵盖输入和输出的大量选项(文件、JDBC、NoSQL、JMS 等)。所有这些都提供了声明式 I/O 选项,因此您不必为有状态的读取器和写入器编写和测试代码。
  • Tasklet(Spring Batch 相当于 JSR-352 的 Batchlet)实现的集合,包括用于执行 shell 命令和与 Hadoop 交互的实现。
  • 能够停止/启动/重新启 Action 业并在执行之间保持状态。
  • 在处理记录时跳过和重试记录的能力。
  • 交易管理。 Spring Batch 为您处理事务。
  • 通过集成 Spring Integration 在发生错误时通知其他系统的能力。
  • 基于 Java 或 XML 的配置。
  • 所有 Spring 功能,例如 DI、AOP、可测试性等。
  • 供应商独立性 - 通过使用 Spring Batch,您可以使用开源且不依赖于任何供应商的框架。

其他优势

除了上述 Spring Batch 带来的示例之外,它还走得更远:

  • 可扩展性选项 - Spring Batch 提供了许多可扩展性选项,范围从单个 JVM 内通过线程(多线程步骤、本地分区和拆分)到多 JVM 可扩展性(远程分区和远程分 block )。
  • 与 Spring Integration 集成 - Spring Integration 提供了许多有用的元素,可让您构建强大的批处理应用程序来处理错误消息、文件轮询目录、自动 FTP 文件等。
  • 大数据支持 - 通过 Spring for Apache Hadoop 项目,Spring Batch 有许多扩展,使其能够很好地与 Hadoop 配合使用。您可以在 YARN 上运行 Spring Batch 作业,可以执行 Pig、Hive、MapReduce 等作业。
  • 与 Spring XD 集成 - Spring XD 为批处理作业的部署、管理和执行提供分布式运行时。

我个人将批处理视为“一劳永逸”的编程模型。虽然它并不性感,但批处理是一种非常有用的处理模型,并且在某些地方比大多数人意识到的更有用。 Spring Batch 提供了一个环境,可以尽可能轻松地开发强大的批处理作业。

关于spring - Spring 批的优点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26929308/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com