假设我有 n 生产者,它将每个时间戳 t 的数据发送到Kafka。消费者获取时间戳 t 数据的条件是从所有生产者那里收到时间戳 t 的数据。
Kafka让消费者做这样的检查吗?或者卡夫卡有这样的问题的策略吗?
答案 0 :(得分:0)
Kafka经纪人本身无法进行过滤,消费者也不会进行任何过滤。 Kafka有线协议在此描述了获取请求: https://cwiki.apache.org/confluence/display/KAFKA/A+Guide+To+The+Kafka+Protocol#AGuideToTheKafkaProtocol-FetchRequest
基本上,每个获取请求将包含一组主题,分区,偏移量,并且没有基于内容的过滤。 Kafka是一个消息队列,它本身并不会查看消息。无论您需要什么过滤,都应该在处理逻辑中。如果某些消息与过滤条件不匹配,则跳过它(必须自动或通过显式调用所有消息提交偏离过程)