kafka中,
呼叫send()函式,傳送訊息時,沒有指定broker,
topic 與 broker 之間存在對映關係,對映關係儲存在元資料中,
由kafka底層去維護。
連線池producerpool,包含syncproducer。
syncproducer負責維持 producer與broker的連線。
syncproducer根據metadata中儲存的broker資訊,建立與相應broker的連線。
**上線,下線時,producer不會第一時間獲得,
producer只有呼叫send()方法時,才會去重新整理 metadata。
訊息快取池,recordaccumulator。
在訊息累加器內部,每乙個主題的每乙個分割槽topicpartition對應乙個雙端佇列,佇列中的元素都是recordbatch。
乙個分割槽的訊息對應乙個recordbatch。
recordbatch是同乙個主題傳送往同乙個分割槽的多條訊息組成。recordbatch的資料結構。
concurrentmap>
key ---topicpartition
value ---deque
queue與topic的區別
jms中定義了兩種訊息模型 點對點 point to point,queue 和發布 訂閱 publish subscribe,topic 主要區別就是 是否能重複消費 訊息生產者生產訊息傳送到queue中,然後訊息消費者從queue中取出並且消費訊息。訊息被消費以後,queue中不再有儲存,所以訊...
kafka入門之broker 副本與ISR設計
kafka把分割槽的所有副本均勻地分配到所有broker上,並從這些副本中挑選乙個作為leader副本對外提供服務,而其他副本被稱為follower副本,只能被動地向leader副本請求資料,從而保持與leader副本的同步 所謂isr,就是kafka集群動態維護的一組同步副本集合,每個topic分...
kafka的啟動與測試 刪除topic
進入kafka的安裝目錄,不知道安裝目錄的可以用命令ps ef grep kafka來檢視,我的目錄是 usr local kafka 檢視埠,進入conf資料夾 kafkaserver.properties 啟動與停止 在啟動server topic 徹底刪除topic 如果需要被刪除topic ...