1. 程式人生 > >kafka的優點和新特性

kafka的優點和新特性

kafka的優點:

1.主要是用來解決百萬級別的資料中生產者和消費者之間資料傳輸的問題

2.可以將一條資料提供給多個接收這做不同的處理

3.當兩個系統是隔絕的,無法通訊的時候,如果想要他們通訊就需要重新構建其中的一個工程,而kafka實現了生產者和消費者之間的無縫對接。

4.大資料時代,最重要的是資料的收集和分析,這些資料包括:

1).使用者的行為資料

2).應用工程的效能資料

3).日誌的使用者活動資料等

5.kafka提供了系統之間的訊息通訊,對於生產者而言,只關注與把訊息傳送的kafka上,而並不關心這個訊息是被誰消費的(kafka相當於訊息的代理者)。

6.kafka是一個開源的訊息釋出和訂閱系統,主要用於以下場景中:

1).持續的訊息:為了從大資料中派生出有用的資料,任何資料的丟失都會影響生成的結果,kafka提供了一個複雜度為O(1)的磁碟結構儲存資料,即使是對於TB級別的資料都是提供了一個常量時間效能。

2).高吞吐量:keep big data in mind,kafka採用普通的硬體支援每秒百萬級別的吞吐量

3).分散式:明確支援訊息的分割槽,通過kafka伺服器和消費者機器的叢集分散式消費,維持每一個分割槽是有序的。

4).支援多種語言:java、.net、php、ruby、python。

5).實時性:訊息被生成者執行緒生產就能馬上被消費者執行緒消費,這種特性和事件驅動的系統是相似的。

kafka 0.8的新特性:

1.在0.8之前,當一個伺服器出現問題的時候,沒有不被消費的資料將丟失,0.8的分割槽提供了資料的複製和備份,確保至少有一份資料是可用的

2.以前,生產者的訊息會阻塞,直到這個訊息被複制到所有的副本中,但是生產者可以配置是否提交到單一的伺服器。

3.kafka消費這輪循模式變成一個長拉取模式,一直阻塞到一個提交的訊息是有效的,避免頻繁的拉取

4.實現了管理工具,例如:控制族群的關閉和leader的選舉工具管理kafka叢集。