Kafka架構設計

2021-10-18 04:56:52 字數 679 閱讀 9002

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-mi3m7ghh-1611887754842)(./kafka核心概念.png)]

num.network.threads = 9

num.io.threads = 32

producer設計

批處理記憶體池設計

封裝同一伺服器請求

consumergroup設計

consumer設計-偏移量儲存

​ 基於nio的網路設計

​ 訊息寫入到磁碟之前首先放在乙個messagequeue中,再用多執行緒處理messagequeue中

有多個selector設計
​ 乙個acceptor,負責啟動kafka並監聽應用

三個processor負責接收請求

​ 乙個requestchanel封裝requestqueue負責接收請求

​ 乙個kafkarequesthandlerpool監聽requestchannel,當requestchannle中有資料流入時,該程序負責處理資料,並最中放入磁碟。預設有8個執行緒進行資料處理

​ requestchannle還封裝三個reposechannle負責接收響應

​ kafka是乙個高效能,高併發,高可用的訊息系統,分別通過以下設計實現上述特性

消費者

面試專題 簡述Kafka架構設計

kafka的特性 consumer group 消費者組,消費者組內每個消費者負責消費不同分割槽的資料,提高消費能力。邏輯上的乙個訂閱者。topic 可以理解位乙個佇列,topic 將消費分類,生產者和消費者面向的是同乙個 topic。partition 為了實現擴充套件性,提高併發能力,乙個 to...

salesforce 架構設計 從架構設計到架構師

因為碎片化的時間多了,所以開始刷起某乎了,關注了架構相關的板塊,也順手回答了一些問題。發現有很多同道中人正在經歷著我前兩年經歷的階段,對於做架構沒有相對具象的一些理解,更沒有系統化的認識。所以把最近回答的一些內容整理一下,權當記錄,留給3年後的自己 按慣例,容許我裝x開頭 一 架構的定義 在軟體開發...

mysql架構設計 初識mysql架構設計

一 應用系統如何與mysql進行一次互動?最開始接觸jdbc的時候,我們系統如何完成一次sql操作呢?第一步,建立資料庫連線 第二步,操作sql 第三步,釋放連線。但是每次建立與資料庫的連線非常耗時和資源,所以我們加入了連線池的概念。第一步的獲取連線是從連線池中獲取乙個可用的連線,第三步的釋放連線不...