簡體   English   中英

使用多個輸入主題時,輸入主題的不同消息率會影響kafka流處理速度嗎?

[英]When using multiple input topics, does different message rate on input topics affect kafka streams processing speed?

在我的 kafka 流應用程序中,我有 10 個正在讀取的輸入主題(每個 mysql 表的主題)。 某些主題的消息率非常低,而其他主題的消息率略高。 很少有幾個主題會產生大量消息。 想知道對於較快主題的 kafka 流處理是否會由於較慢主題的低消息率而停止? 如果我應該在拓撲中創建單獨的源節點以將較慢的主題與較快的主題隔離開來。

我的流應用程序從輸入消息中提取信息,轉到另一個服務以獲取更多數據並將其寫入 output kafka 主題。

這取決於...

如果不同的主題由不同的子拓撲處理(參見Topology#describe()的 output),則每個主題將單獨處理,並且如果不同的主題具有不同的數據速率,則不會產生影響。

如果您加入或合並多個主題(因此,它們由相同的子拓撲處理),則主題的進展會“耦合”。 這種耦合基於事件時間戳 因此,具有較高數據速率的主題很可能具有“更密集”的記錄時間戳,因此比具有較低數據速率的主題獲得更多的數據處理。 例如:

// just showing timestamps
topic-1 (partition-0): 3 13 23 33 43 53 63 73 83 93 103 113...
topic-2 (partition-0):  5              55             105

processing order:
3 5 13 23 33 43 53 55 63 73 83 93 103 105 113

因此,對於 topic-2 的每條記錄,將處理 topic-1 的 5 條記錄。

暫無
暫無

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

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