1、 kafka核心元件
(1)replication(副本)、partition(分割槽)
乙個topic可以有多個副本,副本的數量決定了有多少個broker存放寫入的資料;副本是以partition為單位的,存放副本即是備份若干個partition,但是只有乙個partition被選為leader用於讀寫;partition(分割槽)數量設定最好大於consumer數量(保證每個消費者都有乙個partition)。
(2)producer(生產者)
kafka中的producer可以直接傳送訊息到leader partition;producer可以決定將訊息推送到哪些partition;可以使用批處理(batch)推送訊息,提高效率;乙個重要的引數acks(0、-1、1)
(3)consumer(消費者)
消費者分組,同乙個group的consumer不能同時消費同乙個partition,對於同乙個group的consumer,kafka就相當於乙個佇列訊息服務,各個consumer均衡的消費相應partition中的資料。當消費者數大於分割槽數時,存在leader consumer和follower consumer,leader consumer處理所有的讀寫請求,當leader consumer掛掉時,follower consumer會成為新的leader consumer。
2、 kafka核心特性
訊息集合壓縮、訊息可靠性(exactly-once)、備份機制、高效性設計(磁碟線性寫、b樹、sendfile、zero-copy)
Kafka學習總結
kafka是乙個分布式的基於發布 訂閱模式的訊息佇列,主要應用於大資料實時處理領域。1.2.1傳統訊息佇列的應用場景 1.2.2訊息佇列的兩種模式 1 點對點模式 一對一,消費者主動拉取資料,訊息收到後訊息清除 訊息生產者生產訊息傳送到queue中,然後訊息消費者從queue中取出並且消費訊息。訊息...
Kafka學習筆記之Kafka日誌刪出策略
kafka將topic分成不同的partitions,每個partition的日誌分成不同的segments,最後以segment為單位將陳舊的日誌從檔案系統刪除。假設kafka的在server.properity檔案中設定的日誌目錄為tmp kafka logs,對於名為test perf的top...
kafka消費之kafka檢視topic是否有資料
配置config檔案為 server.properties 指令碼在 kafka bin路徑下 啟動kafka kafka server start.sh config server.properties 1 dev null 2 1 kafka server start.sh檢視已建立的topic...