簡體   English   中英

如何從多分區的Kafka主題按順序(按時間戳順序)使用數據

[英]How can I consume a data sequentially(in order of their time-stamp) from a multi-partitioned Kafka topic

我知道,當一個主題具有多個分區時,Kafka將無法保證數據的順序。 但是我的問題是:-我需要對事件主題(用戶活動生成事件)進行多個分區,因為我希望多個使用者組可以使用該主題中的數據。 但是有時候,我需要重新引導整個數據,即從頭到尾讀取完整的數據,並根據Kafka中的歷史消息重建事件圖,然后我失去了創建問題的順序。 一種方法可能是在Map-Reduce范式中對其進行處理,在該范式中,我根據時間映射數據並對其進行排序和使用。 是否有人遇到過類似的情況/問題,並且想為我提供正確的方法/解決方案。

提前致謝。

根據kafka文檔,不保證整個分區的全局排序,因此您可以使用N個使用者使用N個分區。 根據數據類型創建分區,即類別A的所有數據類型都應放在一個分區中,因為在分區內維護的消息順序可以在單獨的使用者和過程數據中使用這些消息。

我瀏覽了一些博客,其中說緩沖這些消息並在這些消息上應用排序邏輯,但這似乎不是一個好習慣,因為在某些情況下,分區之一可能是慢速消息,因此您需要對消息進行排序以及每當有新消息到達時。

暫無
暫無

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

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