雖然Day 25有提到好幾種Stream Computing框架,但是這些這些框架都有一些共通的組成元素:
從角色來看,分成幾組:
處理 client 提出的運算要求,將運算工作拆分成小單位(任務)後,將運算工作分派到各個運算節點上
管理運算節點,每台機器需要一個或多個這種角色
運算節點,實際執行運算,並將運算結果透過高效率的方式送交到下一階段的運算節點或中繼站
資料管道,擔任運算節點之間的中繼站,或是輸入資料的中繼站。若是consumer速度慢於producer速度時負責buffer
叢集協調中心,負責協調及交換整體叢集的狀態。
其中 4 和 5 已經介紹過了,一般常用的是 Kafka 和 Zookeeper。
1~3的話,每一種框架有不同的實作方式。
明天開始我會簡單介紹一下Day 25提到的三種框架,然後就可以happy ending囉~