這次 30 天技術寫作挑戰,我選擇聚焦 Real-time (Streaming) Pipeline。系列將從「知其然,更知其所以然」的角度出發,先動手寫一個簡單的 streaming framework,帶大家理解事件驅動、狀態管理與窗口計算等核心概念,再進一步探索業界主流的 Flink 與 RisingWave。希望透過「先造小輪子,再開大卡車」的方式,讓大家不只看懂技術,還能真正體會它為什麼重要。三十天不一定能成就一部史詩,但一定能收穫一套完整的 Streaming 心法。
AI 時代到來,數據驅動不再只是「資料多」,而是要「即時可用」。推薦系統、fraud detection、AI decision engine,這些需求都希望資...
昨天聊了 Stream Processing Engine 的演進,今天來談談一個有趣現象:為什麼遇到即時處理需求時,有可能會想到使用 HTTP? HTTP:工...
承接前兩天的討論,當我們意識到同步模型的局限性後,自然會想:「那就直接用 Streaming 處理所有數據吧!」但在 2010 年代初期,純 Streaming...
在上一篇我們聊過 Lambda Architecture 的三個層: Batch Layer:慢但精準,處理全量歷史數據,保證最終一致性 Speed L...
在上一篇我們實作了基礎的 Speed Layer 架構,包含 Source、Sink、SimpleStreamingEngine 三個核心組件。一開始系統運作良...
在資料流處理的世界裡,很多人覺得「即時」等於「一條一條馬上寫入 DB」。但這就好比外送員每接到一單,就立刻停下手上的工作、騎車送到客人家 - 送得慢、油耗高,還...
我們講到 Speed Layer 就像一隊外送員,專門把 Kafka 新鮮出爐的訂單火速送到資料庫。但是,衝得快不代表不會翻車。今天我們來看第三種真實會發生的「...
昨天我們學會了讓系統在過載時「踩煞車」,但還有個更重要的問題:外送員怎麼知道自己送到哪裡了?今天來聊聊 Checkpoint。 外送員的記憶難題:我送到第幾個包...
原本我們的即時數據儀表板就像一個簡潔的咖啡店櫃台 - 只顯示今天賣了多少杯咖啡(orders)。老闆每天早上都會滿意地看著螢幕上跳動的數字,點點頭說:「嗯,生意...
回顧:上篇的痛點 重要提醒本文所有程式碼皆為教學與概念演示用的 Pseudo Code,可以幫助你理解並解決實際場景的問題,但這裡的程式碼不能直接使用,主要目的...