EN - FR - DE - ES - IT - PT -

LexiconDream

🌊 流處理

即時持續處理到達的資料。

流處理

流處理技術能夠持續不斷地處理到達的資料。它並非將資料分批收集並定期處理,而是對流經系統的每個事件進行即時分析。例如,信用卡交易的詐欺偵測會在幾毫秒內完成;感測器讀數一旦超過閾值就會觸發警報;點擊流會即時更新推薦模型。整個處理過程都在動態進行,而非靜止狀態。

這種架構與批次處理不同。資料透過 Kafka 或 Kinesis 等訊息佇列到達。 Flink、Spark Streaming 或 Kafka Streams 等流處理器消耗事件,套用轉換,並發出結果。系統必須處理延遲到達的事件、亂序資料以及精確一次語意。這些都是難題。延遲到達的事件需要浮水印來判斷時間視窗何時結束。亂序事件需要緩衝和重新排序。精確一次處理需要來源、處理器和接收器之間的協調。正確實現這些非常複雜。一旦出錯,結果就會不一致或重複。流處理對於需要即時洞察的用例非常強大,但對於夜間報告來說則過於複雜。批次和流處理之間的選擇取決於延遲要求。如果可以接受幾分鐘或幾小時的延遲,批次處理更簡單、更經濟。如果延遲時間以秒為單位,則串流處理是唯一選擇。

流程處理特性

流處理是批次的一種反向操作。它不是等待資料累積,而是立即處理每個出現的事件。

Comments

No comments yet. Be the first to share a thought.

Leave a comment