Іва*_*душ 3 java apache-kafka spring-kafka
我尝试通过密钥从kafka获取消息。我发现只有一种解决方案是使用StateStore,但我认为这不是一个好主意。如何从kafka主题中通过密钥获取消息?使用StateStore进行此操作好吗?
写入Kafka的每条记录都可以选择有一个密钥(但不是必须的!),可以通过多种方式访问该密钥:
控制台使用者:
$ kafka-console-consumer --bootstrap-server <servername>:9092 --topic topicname --from-beginning --property print.key=true --property key.separator=:
Run Code Online (Sandbox Code Playgroud)
$ kafkacat -b <servername>:9092 -C -t topicname -o beginning -K :
Run Code Online (Sandbox Code Playgroud)
ConsumerRecord#key()
Run Code Online (Sandbox Code Playgroud)
不过,Kafka并非按键索引,而是按offset索引,也可以按timestamp索引。如果需要查找键,则需要将数据具体化到旨在通过键查找的系统上:关系数据库,键值存储或某个索引。您可以使用Kafka Connect轻松完成此操作,或者,如果要将其构建到服务中,则可以使用Kafka Streams的交互式查询功能。
| 归档时间: |
|
| 查看次数: |
6776 次 |
| 最近记录: |