kafka起源
在早期的時候 Kafka 並不是一個合格的消息隊列,早期的 Kafka 在消息隊列領域就像是一個衣衫襤褸的孩子一樣,功能不完備並且有一些小問題比如丟失消息、不保證消息可靠性等等。
當然,這也和 LinkedIn 最早開發 Kafka 用於處理海量的日誌有很大關係,人家本來最開始就不是為了作為消息隊列滴,誰知道後面誤打誤撞在消息隊列領域佔據了一席之地。
初識 Kafka
Kafka 是一個分佈式流式處理平臺。
流平臺具有三個關鍵功能:
消息隊列:發佈和訂閱消息流,這個功能類似於消息隊列,這也是 Kafka 也被歸類為消息隊列的原因。
容錯的持久方式存儲記錄消息流:Kafka 會把消息持久化到磁盤,有效避免了消息丟失的風險·。
流式處理平臺:在消息發佈的時候進行處理,Kafka 提供了一個完整的流式處理類庫。
Kafka 主要有兩大應用場景:
消息隊列 :建立實時流數據管道,以可靠地在系統或應用程序之間獲取數據。
數據處理:構建實時的流數據處理程序來轉換或處理數據流。
Kafka 幾個重要概念
Kafka 將生產者發佈的消息發送到 Topic(主題) 中,需要這些消息的消費者可以訂閱這些 Topic(主題)。
Kafka 比較重要的幾個概念:
Producer(生產者) : 產生消息的一方。
Consumer(消費者) : 消費消息的一方。
Broker(代理) : 可以看作是一個獨立的 Kafka 實例。多個 Kafka Broker 組成一個 Kafka Cluster。
每個 Broker 中又包含了 Topic 以及 Partion 這兩個重要的概念:
Topic(主題) :
Producer 將消息發送到特定的主題,Consumer 通過訂閱特定的 Topic(主題) 來消費消息。
Partion(分區) :
Partion 屬於 Topic 的一部分。一個 Topic 可以有多個 Partion ,並且同一 Topic 下的 Partion 可以分佈在不同的 Broker 上,這也就表明一個 Topic 可以橫跨多個 Broker 。
最後說一下,想要學習大數據的限時領取免費資料及課程
領取方法:
還是那個萬年不變的老規矩
1.評論文章,沒字數限制,一個字都行!
3.私信小編:“大數據開發教程”即可!
謝謝大家,祝大家學習愉快!(拿到教程後一定要好好學習,多練習哦!)
閱讀更多 微笑數據工程師 的文章