kafka是基於訊息發布-訂閱模式實現的訊息系統,主要設計目標如下
基本概念
kafka集群包含乙個或多個伺服器,這些伺服器被稱為broker。
邏輯上通rabbitmq的queue佇列相似,每條發布到kafka集群的訊息都必須有乙個topic。(物理上不同topic的訊息分開儲存,邏輯上乙個topic的訊息雖然儲存於乙個或多個broker上,但使用者只需指定訊息的topic即可生產或消費資料而不必關心資料存於何處。)
partition是物理概念上的分割槽,為了提供系統吞吐率,在物理上每個topic會分成乙個或多個partition,每個partition對應乙個資料夾(儲存對應分割槽的訊息內容和索引檔案)。
訊息生產者,負責生產訊息併發送到kafka broker。
訊息消費者,向kafka broker讀取訊息並處理的客戶端。
每個consumer屬於乙個特定的組(可為每個consumer指定屬於乙個組,若不指定則屬於預設組),組可以用來實現一條訊息被組內多個成員消費等功能。
------摘至《spring cloud微服務實戰》崔永超·著,第九章。
kafka kafka主要元件說明
producer主要是用於生產訊息,是kafka當中的訊息生產者,生產的訊息通過topic進行歸類,儲存到kafka的broker裡面去 kafka當中,topic是訊息的歸類,乙個topic可以有多個分割槽,每個分割槽儲存部分topic的資料,所有的partition當中的資料全部合併起來,就是乙...
設計模式的主要設計原則簡介
1.單一職責原則 srp 單一職責模式 按照字面理解就是,乙個類的功能要 單一 或者專一,不能武斷地把很多相關或者不相關的功能強制寫進乙個類裡去,它的準確解釋是 就乙個類,應該僅有乙個引起它變化的原因 我個人認為這個原則主要就是教我們如何抽象並 封裝 類。舉例 對於初學者來說,我們幾乎都寫過的 如w...
Cassandra和HBase主要設計思路對比
cassandra hbase 一致性quorumnrw策略 通過gossip協議同步merkletree,維護集群節點間的資料一致性 單節點,無複製,強一致性 可用性1,基於consistenthash相鄰節點複製資料,資料存在於多個節點,無單點故障。2,某節點宕機,hash到該節點的新資料自動路...