怎樣讓自己的網(wǎng)站被收錄軟文營銷文章案例
目錄
Kafka 架構
Kafka 工作原理
Kafka 數(shù)據(jù)流
Kafka 核心特性
總結
Kafka 架構
1. 生產者(Producer)
2. 消費者(Consumer)
3. 主題(Topic)
4. 分區(qū)(Partition)
5. 副本(Replica)
6. 代理(Broker)
7. ZooKeeper(舊版本)/KRaft(新版本)
Kafka 工作原理
1. 消息生產
2. 消息存儲
3. 消息消費
4. 領導者選舉
5. 集群協(xié)調
Kafka 架構
Kafka 是一個分布式流處理平臺,核心架構包括以下組件:
-
Producer(生產者):
-
負責將消息發(fā)布到 Kafka 的 Topic 中。
-
-
Consumer(消費者):
-
從 Topic 訂閱并消費消息。
-
-
Broker(服務器):
-
Kafka 集群中的每個節(jié)點都是一個 Broker,負責消息的存儲和轉發(fā)。
-
-
Topic(主題):
-
消息的邏輯分類,生產者將消息發(fā)送到特定 Topic,消費者從 Topic 訂閱消息。
-
-
Partition(分區(qū)):
-
每個 Topic 可以分為多個 Partition,分區(qū)是 Kafka 并行處理的基本單位,每個分區(qū)是一個有序、不可變的消息序列。
-
-
Replica(副本):
-
每個 Partition 可以有多個副本,分布在不同的 Broker 上,確保數(shù)據(jù)的高可用性和容錯性。
-
-
Leader 和 Follower:
-
每個 Partition 有一個 Leader 副本和多個 Follower 副本,Leader 負責處理讀寫請求,F(xiàn)ollower 從 Leader 同步數(shù)據(jù)。
-
-
Zookeeper:
-
用于管理 Kafka 集群的元數(shù)據(jù)、Broker 狀態(tài)、Leader 選舉等。
-
Kafka 工作原理
-
消息發(fā)布:
-
Producer 將消息發(fā)送到指定的 Topic,消息根據(jù)分區(qū)策略(如輪詢、哈希等)分配到某個 Partition。
-
-
消息存儲:
-
消息以追加(Append)的方式寫入 Partition 的日志文件(Log Segment),Kafka 不會修改或刪除已寫入的消息。
-
-
消息復制:
-
Leader Partition 將消息復制到所有 Follower Partition,確保數(shù)據(jù)冗余和高可用性。
-
-
消息消費:
-
Consumer 從 Partition 拉取消息,每個 Consumer 屬于一個 Consumer Group,組內的 Consumer 共同消費一個 Topic 的消息,每個 Partition 只能被組內的一個 Consumer 消費。
-
-
Offset 管理:
-
Consumer 通過 Offset 記錄消費進度,Kafka 將 Offset 存儲在內部 Topic(
__consumer_offsets
)中,確保消費狀態(tài)可恢復。
-
-
日志清理:
-
Kafka 提供兩種日志清理策略:
-
日志刪除(Log Retention):根據(jù)時間或大小刪除舊數(shù)據(jù)。
-
日志壓縮(Log Compaction):保留每個 Key 的最新值,適用于 Key-Value 場景。
-
-
-
高可用性:
-
通過副本機制和 Leader 選舉實現(xiàn)高可用性。如果 Leader 失效,Zookeeper 會從 ISR(In-Sync Repl
-