gpt4 book ai didi

java - 确定正确的 Spring Boot 启动器

转载 作者:行者123 更新时间:2023-12-02 10:00:20 25 4
gpt4 key购买 nike


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

由于该应用程序基于流程的性质,我正在研究 Spring 中的作业执行系统。然而,所有步骤都设计为幂等的,并且步骤之间传输的数据很小,因此我不希望使用此应用程序使用数据库。

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

问题:
- Spring Boot 生态系统中是否有更简单的启动器提供我应该使用的工作流/作业之类的接口(interface)?
- 这是 spring Batch 的有效用例还是过度工程/误用步骤?

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

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

最佳答案

我有两个值得使用 Spring Batch 的项目。我还没有尝试过Spring Task。

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

如果您决定使用 Spring Batch(因为其作业和步骤方面功能或其他功能),您可能希望配置为仅使用内存数据库(因为您不需要任何重试/滚动) -它提供的返回功能)。

关于java - 确定正确的 Spring Boot 启动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55680963/

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