簡體   English   中英

Kafka主題順序

[英]Kafka topic order

我有一個使用類似以下內容的 Kafka 連接器:

SELECT CAST ( id as VARCHAR) as key_id, id ...
FROM table1 
JOIN (SELECT id as tID FROM table1 t WHERE t.id = 87002) v 
ON v.tID = id 

如果我對數據庫執行 ORDER BY ID,我會按照我期望的順序使用以下 ID 獲取記錄

322633
324066
324084
324107

我已經指定了連接器拉動增量,因此連接器添加了以下內容:

WHERE id > ? ORDER BY id ASC 

這就是我感到困惑的地方。 在此連接器寫入的 stream 中,記錄以不同的順序顯示! 他們在

322633
324084
324107
324066   (huh!!!?) 

任何幫助理解這種行為都會很棒。

Kafka 是一個分布式消息傳遞系統,因此即使它按順序從源數據庫中獲取消息,但消息將根據定義的鍵分布在主題的多個分區上。 Kafka 保證維護每個分區的順序,而不是跨分區。

因此消費者可以以任何順序從主題中獲取消費消息,消費者端沒有保證順序。

如果您嚴格要求維護順序,則可以使用單個分區主題,但在這種情況下,您可能會失去並行性。

在此處輸入圖像描述

暫無
暫無

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

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