簡體   English   中英

卡夫卡消費者延遲

[英]Kafka Consumer delay

我遇到以下問題:

我正在接收生產者發出的延遲消息(時間長達一分鍾)。 我無法控制制作人,因此我想確保一切正常進行。

我正在使用kafka-client版本0.11.0.0。 版本更改是可能的,但很乏味,因此我想避免盡可能多地更改版本。

我的使用者配置如下所示:

group.id= unique-group-d
bootstrap.servers = # kafka broker with version 0.11.0.0
auto.offset.reset = latest
# avoid client id collision with Kafka
client.id= some-example-gateway-client

我正在輪詢以下消息:

ConsumerRecords<String, String> tConsumerRecords = tempConsumer.poll(1000);
tempMessage.forEach(entry -> {
    [...]
});

沒有100%與客戶端或組ID發生名稱沖突。 我訂閱的主題只有1個分區。

我懷疑制作人的工作負擔很重,該制作人開始制作帶有零星消息的獨立環境。

它的星期五和每個人都已經走了無濟於事。

我錯過了什么嗎? 我可以把責任推到生產者那一邊嗎?

從Kafka v0.10開始,每個消息都包含一個元數據時間戳屬性,該屬性可以由生產者在消息創建時設置,也可以由代理在消息插入時設置。

org.apache.kafka.streams.processor.TimestampExtractor提供了一個接口,並且它具有從記錄中提取時間戳的方法extract

基本上,您只需要比較生產者端和消費者端的時間戳,以確保消息是從生產者端還是消費者端延遲的。

來源: https : //kafka.apache.org/10/javadoc/org/apache/kafka/streams/processor/TimestampExtractor.html

https://kafka.apache.org/documentation/#topicconfigs

暫無
暫無

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

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