私の仕事は、リモートのデータベースからデータを取得し、それらをkafkaストリームに組み込むことです(濃縮)。私が今やりたいことは、定期的にリモートDBをローカルメモリにポーリングすることです。このポーリング操作が行われると、カフカストリームを一時的に停止する必要があると思います。これはkafkastreamをブロックする正しい方法ですか?
@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();
}
メソッドが実行を開始すると、ストリームは処理を停止する必要があり、その後、ポーリングジョブを実行し終え、ストリームはプロセスに再起動する必要があります。私の現在の考えは、このような何かを持っていることです。
これは良い方法ですか?改善のための提案?
カフカは、あなたの要件に適したツールのようには聞こえません。ストリーミングプロセスを停止して再起動する必要がある場合は、単なるバッチジョブです。 – LuckyGuess