Kafka 術語

什麼是Kafka?算法

  Apache Kafka是一個分佈式流媒體平臺,容許你發佈和訂閱記錄流,容許你以容錯方式存儲記錄流,容許你處理數據流。或是說Kafka是一個分佈式、支持分區、多副本的,基於zookeeper協調的分佈式消息系統。那本身眼中的kafka是什麼?服務器

 

Kafka的術語分佈式

  Topic(主題):特指Kafka要處理的記錄源的分類,每一類記錄稱爲一個topic,每個記錄由一個key、value和timestamp組成。隊列

  Broker:Kafka集羣中的一臺或多臺服務器(即kafka節點)。kafka

  Producer(生產者):向kafka的一個Topic發送記錄的過程。producers往某個topic上發佈記錄時將負責選擇發佈到topic的哪個partition上,最簡單的方式是從分區列表中輪流選擇,也能夠根據某種算法依照權重選擇分區。it

  Consumer(消費者):訂閱Topic並處理該Topic發佈的記錄的過程。io

  Partition(分區):topic物理上的分組,每一個Topic包含一個或多個Partition,每一個Partition是一個有序的隊列。集羣

  Consumer Group(消費組):一個Consumer Group可包含多個consumer,每一個consumer用Consumer Group名稱來標註本身。同一個Topic的數據會經過廣播傳遞給不一樣Consumer Group,若同一個Topic的同一條記錄只能被同一個GroupID的一個consumer消費,則實現點對點模式。若同一個Topic的同一條記錄被不一樣GroupID中的consumer同時消費到,則實現了發佈訂閱模式,可是Partition中每一個記錄只能被Group中一個consumer消費,不能被多個consumer消費(Kafka實現了消息廣播和單播;若需實現廣播,只要每一個consumer有一個獨立的Group便可,若需實現單播,只要全部的consumer在同一個Group中便可)zookeeper

相關文章
相關標籤/搜索