Каждая запись, записанная в Kafka, может иметь ключ (но не обязательно!), Доступ к ключу можно получить несколькими способами:
Консоль потребителя:
$ kafka-console-consumer --bootstrap-server <servername>:9092 --topic topicname --from-beginning --property print.key=true --property key.separator=:
kafkacat
$ kafkacat -b <servername>:9092 -C -t topicname -o beginning -K :
Java Consumer API :
ConsumerRecord#key()
Кафка не индексируется по ключу, он индексируется по смещению и, необязательно, по отметка времени . Если вам нужно найти ключ, вам нужно материализовать данные в систему, которая была разработана для поиска по ключу: реляционная база данных, хранилище значений ключа или какой-либо индекс. Вы можете сделать это довольно легко с Kafka Connect, или если вы хотите встроить его в свой сервис, вы можете использовать функцию интерактивных запросов в Kafka Streams .