我有一个使用 Kafka 的简单流程,有 1 个生产者和 1 个消费者。生产者会持续运行,而消费者只能在一天内的特定时间范围内运行。这可能吗?我可以使用 Control-M 安排作业(消费者进程)吗?它应该停止,直到所有排队的消息都被完全处理。然后消费者将再次按计划运行。
是的,你可以这样做。 Camus/Gobblin/Spark Structured Batch 都是已经执行此操作的 Kafka 流程示例
如果您必须编写自己的脚本,那么您可以使用 kafka-console-consumer 和 --max-messages 标志来确保消费者不会永远保持打开状态