我使用卡夫卡消費者從幾個主題閱讀,我需要那些之一,具有更高的優先級。處理需要很多時間,並且總是有很多消息處於(低優先級)主題中,但我需要儘快處理來自其他消息的消息。卡夫卡消費者 - 主題(S)具有較高優先級
這類似的問題,因爲Does Kafka support priority for topic or message?但這一個是使用舊的API。
在新的API(0.10.1.1)的方法有
KafkaConsumer::pause(Collection)
KafkaConsumer::resume(Collection)
但它不是我清楚,如何有效地檢測出有高優先級的主題新的消息,並有必要暫停消費來自其他主題。
任何想法/例子嗎?
您可以檢查是否爲您監視的分區endOffsets比那些分區最後提交的偏移較大。這是如何工作的將是特定實現,但會讓你知道在你投票之前是否有更多的消息需要消費 – dawsaw