簡體   English   中英

卡夫卡消費者不顯示消息

[英]Kafka consumer not displaying the message

我試圖了解 Kafka 制作人是如何工作的。 下面是我寫的發送消息的python生產者代碼。 我首先啟動了 Kafka 控制台使用者,然后我運行了 python 代碼

from confluent_kafka import Producer
from Product import Product
from faker import Faker



if __name__ == '__main__':


    config = {
        "bootstrap.servers":"localhost:9092"
    }
    producer = Producer(config)
    fake = Faker()
    product = Product(fake.name())
    print(product.serial())
    producer.produce(topic="first_topic",value=product.serial())

我面臨的問題是,如果我在調用 generate 之后調用 flush 方法,消息會出現在控制台消費者上,但是如果沒有刷新,則消息不會出現在控制台消費者中。 根據 Kafka 文檔,flush 將使生產者同步。 有沒有辦法避免使用刷新並仍然確保消息被消耗。 謝謝

您要么需要刷新,要么需要通過更多消息填充生產者的批量大小,或者通過 confluent_kafka 包中的一些 librdkafka 配置設置將批量大小減少到單個消息以下

您可以按照@OneCricteer 的建議填充批量大小,也可以將 linger.ms 設置為 0。這樣它就不會在發送前等待填充到批量大小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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