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