Apache kafka 这是阻止卡夫卡团队的正确方法吗?

Apache kafka 这是阻止卡夫卡团队的正确方法吗?,apache-kafka,apache-kafka-streams,apache-kafka-connect,spring-kafka,Apache Kafka,Apache Kafka Streams,Apache Kafka Connect,Spring Kafka,我的工作是从远程数据库抓取数据,并将它们连接到kafka流(扩展)。我现在要做的是定期将远程数据库轮询到本地内存中。我认为当这个轮询操作发生时,kafka流应该暂时停止。我现在的想法是这样的: @Autowired private KafkaStreams streams; @Scheduled(cron = "0 0/15 * * * *") // this method is scheduled to run every 15 minutes public synchronized vo

我的工作是从远程数据库抓取数据,并将它们连接到kafka流(扩展)。我现在要做的是定期将远程数据库轮询到本地内存中。我认为当这个轮询操作发生时,kafka流应该暂时停止。我现在的想法是这样的:

@Autowired
private KafkaStreams streams;

@Scheduled(cron = "0 0/15 * * * *")  // this method is scheduled to run every 15 minutes
public synchronized void process() {
    streams.close();
    processPolling();
    streams.start();
}
当方法开始运行时,应停止处理流,然后轮询作业完成以运行,流应重新启动以处理


这是一种好的做法吗?有什么改进建议吗?

更好的方法是将远程数据库流式传输到Kafka主题中,并在Streams作业中本机使用这些主题。 您可以使用,也可以根据源数据库的不同使用不同的CDC选项


启动和停止流使其成为一个批处理过程,流处理通过设计避免了相关的注意事项和复杂性

更好的方法是将远程DB流式传输到Kafka主题中,并在Streams作业中本机使用这些主题。 您可以使用,也可以根据源数据库的不同使用不同的CDC选项


启动和停止流使其成为一个批处理过程,流处理通过设计避免了相关的注意事项和复杂性

卡夫卡听起来不像是适合您需求的工具。如果您需要停止并重新启动流式处理,那么这只是一个批处理作业。Kafka听起来不适合您的要求。如果您需要停止并重新启动流处理,那么这只是一个批处理作业。我需要根据流中的一个记录字段查询远程DB数据,因此我希望将它们存储为类似hashmap的结构,以提高查询性能。如果使远程数据库数据成为流,我应该如何进行查询?谢谢。这是一个关于卡夫卡流的有效设计和使用的单独问题。还有StackOverflow,还有一个合流的平台邮件列表和Slack group以寻求帮助:/I我需要根据流中的一个记录字段查询远程DB数据,因此我希望将它们存储为类似hashmap的结构,以提高查询性能。如果使远程数据库数据成为流,我应该如何进行查询?谢谢。这是一个关于卡夫卡流的有效设计和使用的单独问题。还有StackOverflow,还有一个合流的平台邮件列表和Slack组以寻求帮助:/