資料中心技術筆記

2021-10-09 21:08:49 字數 1120 閱讀 5965

kafka 是什麼

有人說kafka在使用上就像乙個快遞站,上游生產者傳送資料給它存放,下游的消費者隨時可以讀取資料,不用考慮傳送速率跟消費速率之間的匹配問題,傳送的快了,kafka就存多一會兒。剛開始接觸kafka的我,感覺形容的很貼切,但隨著使用的經驗增加,漸漸感覺這個比喻其實還不太準確。要我說,kafka更像是印刷廠,上游發布了乙份訊息到kafka裡,kafka實際上是會把訊息持久化下來的,相當於刻了個模板,下游來乙個消費者a,kafka就印乙份訊息給他,a第二次來,kakfa就接著他上次的訊息印後續的訊息給他。但是如果來的是第二個消費者b,kakfa是認得的,會從頭開始列印乙份訊息給這個新人。

意識到kafka這個特性,是從乙個叫分組的屬性開始的。

這個分組是指的消費者的分組,consumer group,同乙個分組從kafka消費資料,kafka每次都會拿最新的給消費者,不論這個消費者是不是同乙個ip,這樣便保證了分布式的消費者與kafka的相容性。而使用乙個另外的consumer group來消費資料,kakfa會從第一條資料開始返回。利用這個特性,我們可以將同一批資料提供給不同的服務,或者單純是引流到測試環境來做驗證等,因為只要分組不同,就不會影響既有的消費者使用。

使用kafka時關注的另乙個問題,是kafka是否有序

要回答這個問題,需要同時關注另乙個問題,並行度,或者說吞吐量、效能等等。傳送端的資料到達kafka是有先來後到的,按理說kafka按順序記錄下來,一條資料對應乙個偏移量也沒有什麼難度。如果僅考慮kafka能不能做到資料有序,那其實是可以的。對於乙個kafka主題(topic)來說,它創立之初就有幾個屬性是需要我們規劃好的,特別是分割槽(partition)。如果乙個topic裡面只有乙個分割槽的話,那就相當於kafka是在使用單執行緒接受資料,先到的資料寫在前面,後到的資料往後排,從而體現出「有序」。當我們追求高併發、高吞吐量的時候,勢必要使用多執行緒來讀寫資料,如果kafka使用多個執行緒來寫資料的話要怎麼寫呢?沒錯,每個執行緒劃分乙個區域,各自寫各自的。如果只有乙個分割槽,在寫資料跟讀資料同時進行時,便會導致偏移量的錯亂(不要想著加鎖解決,加鎖會降低併發的效率)。所以,當你的topic有多個分割槽時,整體來看,資料是不保證有序的,但是每個分割槽內部的資料卻是有序的。

資料中心技術

現代資料中心是指一種特殊的it基礎設施,用於集中放置it資源,包括伺服器 資料庫 網路與通訊裝置以及軟體系統,接下來介紹資料中心常見組成技術與部件 1 虛擬化 資料中心包含了物理和虛擬的it資源。物理it資源層是指放置計算 網路系統和裝置,以及硬體系統及其作業系統的基礎設施。虛擬層對資源進行抽象和控...

資料中心技術架構分享

結束以後有人提出幾點意見,記錄如下 1.語速可以放慢一點,照顧一下不熟悉或聽不懂的 2.稍微加一些互動,比如講完乙個,或幾個,問下有沒有問題,可以避免下面的人打瞌睡 3.結束以後,回到架構圖再來乙個總結。整個ptt下來是乙個 總分總的結構 4.應用場景一定要詳細的講解,結合應用場景更容易理解 說完p...

資料中心與雲資料中心

資料中心與雲資料中心 資料中心 dc,datacenter 是指在乙個物理空間內實現資訊的集中處理 儲存 傳輸 管理等功能,它包括伺服器 儲存 網路等關鍵裝置和這些關鍵裝置執行所需要的環境因素,如供電 製冷 消防 監控等關鍵基礎設施。雲資料中心是一種基於雲計算架構的,計算 儲存及網路資源松耦合,完全...