[英]How to get message by key in Pulsar
我的情況是我在 Pulsar 中壓縮了主題( https://pulsar.apache.org/docs/en/concepts-topic-compaction/ )。 與生產者一起,我正在發送帶有密鑰的消息。 是否可以通過與消費者一起使用密鑰來獲取特定消息?
我的代碼:
Producer<byte[]> producer = client.newProducer()
.topic(TOPIC_NAME)
.compressionType(CompressionType.LZ4).create();
String name = "name";
String lastName = "lastname";
byte[] nameBytes = name.getBytes();
byte[] lastNameBytes = lastName.getBytes();
producer.newMessage().key("key1").value(nameBytes).send();
producer.newMessage().key("key2").value(lastNameBytes).send();
Consumer<byte[]> consumer = client.newConsumer()
.topic(TOPIC_NAME)
.readCompacted(true)
.subscriptionName("test")
.subscribe();
// need to get message by key
Pulsar SQL 可用於直接使用 Presto 查詢數據。
或者,您可以使用 Bookkeeper Table API這是低級別的,應該避免沒有充分的理由
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.