簡體   English   中英

如何在 Pulsar 中按鍵獲取消息

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM