0
當代理中沒有數據要提取時,消費者會一直處於緊密的循環狀態直到數據到達。因此,我想找到一種方法告訴消費者等待,直到經紀人有一些數據。我使用Kafka 0.9 java客戶端如何在卡夫卡消費者中阻止拉取請求
當代理中沒有數據要提取時,消費者會一直處於緊密的循環狀態直到數據到達。因此,我想找到一種方法告訴消費者等待,直到經紀人有一些數據。我使用Kafka 0.9 java客戶端如何在卡夫卡消費者中阻止拉取請求
因此,基本上Kafka是基於Pull的客戶端,它會繼續查詢服務器以確定是否有新消息,要麼可以有更高的輪詢間隔,要麼可以使用獲取概念.max.wait.ms和fetch.min.bytes,這是文檔中關於fetch.min.bytes的說明 - 服務器爲獲取請求返回的最小數據量。如果數據不足,請求會在回覆請求之前等待那麼多的數據累積。
使用此屬性fetch.min.bytes和fetch.max.wait.ms意味着消費者必須知道將消耗的最小字節量以及等待的時間。但是我正在尋找阻止消費者的東西,直到數據到達,但經紀人會通知消費者。然而,正如拉基系統那樣,這些屬性在這種情況下似乎是合適的 –