【问题标题】:Identifying the Right Spring Boot Starter确定正确的 Spring Boot 启动器
【发布时间】:2019-09-04 22:48:39
【问题描述】:


我想构建一个监听队列并执行一系列步骤的应用程序。 基本上,应用程序应该监听 Queue1 并且:
- 从ServiceA获取一些数据[少量数据]
- 从ServiceB获取一些数据[少量数据]
- 更新Service C中的一些信息[根据数据]
- 在 Queue2 上创建消息数量[基于数据]。

由于这个应用程序基于流的性质,我正在研究 Spring 中的作业执行系统。但是,所有步骤都设计为幂等的,并且在步骤之间传输的数据很小,因此我不想要带有此应用程序的数据库。

为此,我开始探索 Spring Batch 或 Spring Task。 Spring Batch 提供了非常好的构造,例如 Tasklet 和 Steps,但是有许多 cmets 建议将 Spring Batch 连接到数据库以及它是如何可靠地管理大量数据的(我在这里不需要可靠性,因为队列和幂等性提供了那。)。虽然我可以使用执行上下文传递数据,但有人反对它。

问题:
- Spring Boot 生态系统中是否有更简单的启动器,它们提供了我应该使用的工作流/类似作业的界面?
- 这是 Spring Batch 的有效用例还是过度工程/滥用步骤?

非常感谢您的帮助
阿尤什曼

P.S:我可以提供工作的确切细节,但不想混淆问题。

【问题讨论】:

    标签: java spring spring-boot spring-batch spring-cloud-task


    【解决方案1】:

    我在 Spring Batch 方面有两个值得体验的项目。我还没有尝试过 Spring Task。

    话虽如此,我的回答有点偏颇。 Spring Batch 的配置有点臭名昭著。如果您的应用程序足够简单,只需使用“spring-boot-starter-amqp”。就足够了。

    您决定使用 Spring Batch(因为它的 Job 和 Step Aspects 特性或其他特性),您可能希望配置为仅使用内存数据库(因为您不需要任何重试/滚动-back 提供的功能)。

    【讨论】:

    • 谢谢!我听从了你的建议。
    猜你喜欢
    • 2017-02-04
    • 2017-06-14
    • 2020-09-25
    • 1970-01-01
    • 2017-02-21
    • 2019-06-17
    • 1970-01-01
    • 2020-07-27
    • 1970-01-01
    相关资源
    最近更新 更多