**可靠性強**:分布式的,分區,複製和容錯**可擴展性**:無需停機進行擴展。**耐用性**:消息會儘可能快速的保存在磁碟上,持久化。
** 性能高**:對於發布和定位消息都具有高吞吐量,保證零停機和零數據丟失
** 指標分析:用於操作監控數據,分析各種指標。
** 日誌收集:收集各個業務的數據發送到kafka TOPIC裡
** 流式處理**:數據實時打入kafka,實時計算框架(sparkstreaming flink)實時在kafka中消費數據

Producer: 應用程式發布記錄流至一個或者多個kafka的主題(topics)
Consumer: 應用程式訂閱一個或者多個主題(topics)
Connectors: 允許構建和運行可重用的生產者或者消費者
StreamProcessors: 允許應用程式充當流處理器
生產者(Producer):kafka當中的消息生產者,生產者通過topic進行歸類保存到kafka的broker裡面去
主題(topic):一個主題可以有零個,一個或者多個消費者訂閱寫入的數據。可以有無數個主題
分區(partition): 每一個分區的數據是有序的,多個partition之間是無序的。Partition數量決定了每個Consumer Group中並發消費者的最大數量。
分區和消費者之間的關係:
同一個組中的消費者對於同一條信息只能消費一次
消費者應該小於等於該主題下的分區數,
Partition=消費任務並發度=剛剛好,每個任務取一個partition數據
partition>消費任務並發度=有部分消費任務讀取多個分區的數據
partition<消費任務並發度=有部分任務空閒
任何時候,分區中的一條數據只能被一個消費組中的一個消費任務讀取。
總結:分區數越多,用一時間可以有越多的消費者來進行消費,消費數據的速度就會越快,提高消費的性能
lsr表示:當前可用的副本列表
**Segment: **一個partition當中有多個segment,一個segment有一個.log文件和一個.index文件組成
index file: 採取稀疏索引存儲方式。(只是存儲一部分索引,不存儲所有數據的索引) 稀疏能夠節省存儲空間,偏移量(offset):每條消息在文件中的位置稱為offset(偏移量)
消費者(Consumer):任何時候一個消費者必定需要屬於某一個消費組當中。