Topic
主題,從邏輯上講一個Topic就是一個Queue,即一個隊列;從存儲上講,一個Topic存儲了一類相同的消息,是一類消息的集合。比如一個名稱為trade.order.queue的Topic里面存的都是訂單相關(guān)的消息。
Partition
分區(qū)。分區(qū)是存在于服務(wù)端,內(nèi)部保持順序、且順序不可變更的一個隊列,用于存儲消息。分區(qū)可能不應(yīng)該出現(xiàn)在消息領(lǐng)域內(nèi),在使用消息中間件發(fā)送和消費(fèi)時,實(shí)際上用戶是感受不到分區(qū)這個概念的。下面這幅圖便于大家去理解分區(qū):
一個Topic存儲消息時會分為多個Partition,每個Partition內(nèi)消息是有順序的。至于為什么需要將Topic劃分成按照Partition存儲,在以后設(shè)計和實(shí)現(xiàn)部分會解釋。