使用Kafka消息时安排作业

时间:2019-07-01 19:45:08

标签: spring-boot quartz-scheduler scheduling spring-kafka

我想构建一个Spring Boot应用程序,该应用程序可以同时执行多个不同的任务。我曾在互联网上进行过研究,但找不到任何出路。让我详细介绍一下。 我想以一定的间隔开始工作,例如每天一次。我可以使用Spring Quartz做到这一点。我也想在专用的互联网地址上收听消息。消息将来自Apache Kafka平台。因此,我想将Kafka集成用于Spring框架。 实用吗(一直收听消息并按时执行计划的作业)

1 个答案:

答案 0 :(得分:2)

从功能上讲,这种设计很好:单个Spring Boot应用程序可以使用Kafka消息,同时还可以执行石英作业。

但是在更高级别上,您应该问为什么这两个函数属于一个应用程序。石英作业和正在使用的Kafka消息之间是否存在某些固有关系?您是否只是将它们组合在一起以将自己限制为一个应用程序并节省计算/内存资源?

您还应该考虑对可伸缩性的影响。如果需要提高使用Kafka消息的速率怎么办?如果您要扩展应用程序以吸引更多的Kafka消费者,则必须担心现在有多个应用程序触发了石英作业。

是的,它可以完成,但是没有更多细节,这听起来应该将这种设计分为2个独立的应用程序:一个用于Quartz,另一个用于Kafka消费。