metaq的使用簡易版

目前還沒去讀源碼.其實看了一會,但還沒看完.~spa

開源的metaq我設計思路應該是這樣的:設計

1.生產者(producer)發送消息給broker.索引

這個過程有集羣.這裏仍是畫圖吧.文檔

 

 

1.圓柱體就是broker的分區,相同的顏色表明着同一個broker.一個broker能夠分爲多個分區(partation).源碼

2.黑色的圈圈表明着message,傳送帶表明的是topic是Producer.生產者對同一個topic能夠集羣.io

3.message保存在分區中.集羣

producer產生的同一個topic下的多個message保存在不一樣的partation實現broker的集羣,原理

 

broker的存儲策略.meta

1.broker接受到的message是以文件方式存儲的broker本地中.對於message的data部分,metaq不會進行任何轉換,只負責保存與索引.im

2. 同一個topic下有不一樣分區,每一個分區下面會劃分爲多個文件,只有一個當前文件在寫,其餘文件只讀。

具體的存儲原理在metaq的詳細文檔中.

consumer與broker的關係及集羣,

集羣下consumer拉取消息示意圖:

 

 

1.當集羣的consumer大於小於分區數目時,消費者會承擔額外的分區拉取.

2.當集羣的消費者大於分區數目時,則多餘的消費者處於空閒狀態.

3.一個分區下,對於同一個group的消費者,只能有一個進行消費.

相關文章
相關標籤/搜索