当前位置: 首页 > 知识库问答 >
问题:

从Kafka队列消耗数据的流作业与循环批处理作业

陈增
2023-03-14

例如,如果我有一个Java应用程序一直在运行,并且它在到达时从Kafka队列中读取数据,目的是获取数据并将其转发到数据库...无限循环通过一个批处理作业而不是通过Kafka Streaming/Kafka Connect来完成它有什么大的坏处吗?考虑到我没有在每个循环中无谓地创建或浪费资源,并且我正确地处理了多线程,有没有什么主要的缺点或不这样做的原因?对于长时间运行的应用程序,它是一个可行的选项吗?

(我有理由不使用Kafka Streams/与我们的用例连接)

共有1个答案

申屠亦
2023-03-14

所以我和我的工程师谈过了。结果表明,只要您正确地执行了批处理作业,执行无限循环是一个可行的选择。这意味着您已经对配置进行了微调,在循环之间进行了短暂的暂停,并且在连接/消费者/生产者失败时正确地处理了它们的生命周期。另一个团队已经在prod环境下做了。

 类似资料:
  • 长话短说,我有一个cron工作,每天在指定的时间将一堆文件上传到云存储桶中。所有这些bucket都有一个关联的发布/订阅通知主题,该主题在文件创建事件时触发。每个事件都会触发一个数据流作业来处理该文件。 问题是这会在几秒钟内实例化100个并行批处理作业。每个作业都会使用HTTP请求来关闭我的下游服务。这些服务无法足够快地扩展,并开始抛出连接拒绝错误。 为了限制这些请求,我限制了每个数据流作业的可用

  • 我有以下工作要处理在一定的时间间隔或特别的基础上。 作业中的步骤如下: 我也想要用户界面,在那里我可以触发一个特别的基础上的工作,而且我应该能够提供参数从用户界面。 我想用Spring batch来完成这个任务,但它更多的是用于读->处理->写之类的工作。这里,在第一步中,我正在生成由第二步读取的数据。我不确定我是否还可以使用Spring batch来实现这个,或者有更好的方法来实现这个。

  • 我需要使用服务帐户执行数据流作业,下面是同一平台中提供的一个非常简单和基本的wordcount示例。 根据这一点,GCP要求服务号具有数据流工作者的权限,以便执行我的作业。即使我已经设置了所需的权限,错误仍然出现时,堰部分会出现: 有人能解释这种奇怪的行为吗?太感谢了

  • 我正在做简单的Spring批量工作。当我启动作业时,它在无限循环中运行。它不会停止。根据我的时间表,它应该每10秒运行一次。但当工作开始时,它不会停止。它只是分别从读卡器、处理器和写入器打印系统输出。我正在为读者、处理者和作者创造工作机会。我正在按注释进行所有配置。不是通过xml。 下面是批处理配置 PersonReader。JAVA 人Writer.java 个人处理器。JAVA

  • 我正在尝试在GCP数据流中运行批处理作业。工作本身有时会占用大量内存。目前,工作一直在崩溃,因为我相信每个工作人员都在试图同时运行pcollection的多个元素。有没有办法防止每个工人一次运行多个元素?