【问题标题】:Kafka : Use case : Consumer is consuming only when producer is producer messageKafka:用例:仅当生产者是生产者消息时,消费者才消费
【发布时间】:2020-08-07 23:24:53
【问题描述】:

用例:源和目标之间的数据范围非常小且不频繁。但我们仍然需要实时。在那种情况下,如果我想要板载 Kafka ,是否可以让消费者仅在生产者生产消息时才开始消费数据。我知道生产者和消费者是分离的。但是用 Kafka 处理这个用例的最佳方法是什么。

【问题讨论】:

    标签: apache-kafka confluent-platform producer-consumer


    【解决方案1】:

    Kafka Consumer 基于拉取架构。它轮询 Kafka 代理以获取新消息(如果有)。

    consumer will start consuming the data only when producer is producing message
    

    如果您的意思是 - 消费者进程应该仅在数据生成后出现,即 不 在 Kafka 中开箱即用。您需要实现逻辑以在生成数据时启动 kafka 消费者。

    如果您的消费者可以一直处于启动状态,它将继续以预定的时间间隔轮询 Kafka 代理以获取新消息。一旦生产者产生数据,轮询将返回可以处理的消息。

    【讨论】:

    • 感谢您的回复 Rishbah。您能否分享这种用例的参考页面会很有帮助。提前致谢
    • 如果你想让消费者在生产者产生消息后才启动,kafka 可能不是正确的选择。我不知道有任何实时消费的按需消费者。如果可以接受一些延迟,AWS 批处理可能会起作用。
    • 当然。 “如果您希望消费者仅在生产者产生消息后启动,kafka 可能不是正确的选择”的具体原因是什么
    • 如答案中所述,kafka 消费者是基于拉取的,因此它必须不断询问(轮询)kafka 代理以查看是否有新消息到达。没有办法告诉(推送)给消费者。对于您的用例,您想要的恰恰相反。您希望生产者告诉消费者开始处理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-21
    • 2019-07-01
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多