Skip to content

Kafka

Apache Kafka 分散式事件串流平台

軟體分類 數據分析 / 數據串流
開發廠商 Apache Software Foundation
Stars
32.2k
Forks
15k
License
APACHE-2.0
Version
vv3.9.0
Update
2026-03-13
OS

捕捉每一毫秒的脈動:將數據從靜態儲存轉化為動態流轉

  • 超高吞吐量與低延遲: 採用順序磁碟寫入與零拷貝(Zero-copy)技術,單一集群即可處理每秒數百萬次的訊息寫入,並維持毫秒級的延遲。
  • 強大的持久性與容錯機制: 訊息會被持久化到磁碟並進行多副本備份,即便部分節點故障,數據依然安全且可用。
  • 無縫的橫向擴展能力: 透過「分區(Partitioning)」機制,系統可隨時增加節點以應對增長的流量,實現真正的線性擴展。

主要功能、特點

  • 介紹: Apache Kafka 是一個高效能的發佈與訂閱(Pub-Sub)系統,核心在於將數據視為持續不斷的「事件流」。它允許不同的應用程式以非同步的方式進行通訊,達成系統間的解耦與高效協作。

  • 特色服務:

    • Kafka Connect: 提供開箱即用的連接器,能自動將 Kafka 與外部數據源(如 PostgreSQL, MongoDB, Elasticsearch)進行同步,無需撰寫代碼。
    • Kafka Streams: 一個輕量級的客戶端庫,讓您能直接在應用程式中進行即時的數據處理、過濾與聚合。
    • KRaft 模式: 2026 年已完全成熟的架構,移除了對 ZooKeeper 的依賴,大幅簡化了集群部署與維護的複雜度。
    • Schema Registry 整合: 確保事件數據在流轉過程中符合嚴謹的格式規範(如 Avro 或 JSON Schema),降低分散式系統中的溝通成本。

快速部署範例 (Docker Compose)

使用 KRaft 模式快速啟動一個單節點 Kafka 環境:

version: '3'
services:
  kafka:
    image: apache/kafka:3.9.0
    container_name: kafka
    ports:
      - "9092:9092"
    environment:
      - KAFKA_NODE_ID=1
      - KAFKA_PROCESS_ROLES=broker,controller
      - KAFKA_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
      - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092
      - KAFKA_CONTROLLER_QUORUM_VOTERS=1@localhost:9093
      - KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER

產品說明

Apache Kafka 是現代數據工程的「地基」。在 數據分析 的範疇中,它解決了最核心的「數據流轉與解耦」問題。不同於傳統的資料庫,Kafka 專注於描述「發生了什麼(Events)」,這使其成為構建微服務、日誌聚合、即時交易監控以及 AI 模型特徵實時餵送的最佳平台。其核心價值在於提供了一個具備極高可靠性的「事實來源(Source of Truth)」,讓各個下游系統能依照自己的節奏消化數據。對於任何需要處理大規模、高速數據流的技術團隊而言,Kafka 提供的穩定性與生態系支持,是維持業務敏捷度不可替代的核心組件。