Java spring boot中分布式任务调度和作业队列的建议

Java spring boot中分布式任务调度和作业队列的建议,java,spring,spring-boot,job-scheduling,job-queue,Java,Spring,Spring Boot,Job Scheduling,Job Queue,要求: 在我的项目(在分布式环境中运行)中,我们要求在固定时间调度作业,初始延迟为1分钟,如果作业执行失败,它将重试,并且它最多可以重试10次,每次延迟2分钟 我们可以实现同样目标的工具: 我可以通过spring retry实现同样需要的功能。但是,有多个容器可用(分布式环境)。诸如rabbitmq,amazonsqs,redisquartz等工具都支持此功能。但我不确定哪一个更适合springboot 考虑因素: 以下是选择正确工具时需要考虑的事项: 分布式环境 一致性 容错性 易于配置 异步

要求:

在我的项目(在分布式环境中运行)中,我们要求在固定时间调度作业,初始延迟为1分钟,如果作业执行失败,它将重试,并且它最多可以重试10次,每次延迟2分钟

我们可以实现同样目标的工具:

我可以通过
spring retry
实现同样需要的功能。但是,有多个容器可用(分布式环境)。诸如
rabbitmq
amazonsqs
redisquartz
等工具都支持此功能。但我不确定哪一个更适合springboot

考虑因素:

以下是选择正确工具时需要考虑的事项:

分布式环境
一致性
容错性
易于配置
异步处理

问题

基本上,我在寻找类似于Java(springBoot)中的Resqueue和sidekiq ruby实现的东西。是否有人在其应用程序中实现了相同的功能?如果是这样的话,有什么更好的选择/方式提供利弊。欢迎您提出建议。

您可以使用Spring,它易于配置

在您的案例中,可以将a与a一起使用。 根据您的要求,可以使用
SimpleRetryPolicy
中的
backOffPeriod
属性配置最大重试次数(在您的情况下为2分钟)

这种重试机制很容易插入到Spring启动项目中。

您可以使用Spring的,这很容易配置

在您的案例中,可以将a与a一起使用。 根据您的要求,可以使用
SimpleRetryPolicy
中的
backOffPeriod
属性配置最大重试次数(在您的情况下为2分钟)


这种重试机制很容易插入到Spring启动项目中。

Spring重试满足上述条件,但在分布式环境中失败得很惨。因此,我正在寻找一些工具来在分布式环境中实现同样的功能。Spring retry满足上述条件,但在分布式环境中失败得很惨。所以,我正在寻找一些在分布式环境中实现同样功能的工具。