kafka框架,在大資料生態當中,以作為訊息匯流排使用聞名,尤其是實時資料流訊息場景下,kafka可以說是名氣響噹噹。當然,這也得益於kafka的原始開發團隊背景,畢竟,kafka源自linkedin。今天的大資料入門分享,我們就來講講kafka基礎知識。
從官方文件的定義來說,apache kafka是乙個分布式發布/訂閱訊息系統,能夠處理高併發的大量資料,將實時訊息從乙個端點傳到另乙個端點。
同時,kafka構建在zookeeper同步服務之上,用raft協議保證集群的高可用,可以與storm和spark非常好地整合,用於實時流式資料分析。
通常來說,kafka架構分為四個部分,生產者(producer),zookeeper,**(broker),消費者(consumer)。
1.生產者
負責發布訊息到kafka broker。
2.zookper
kafka與zookeeper級聯,通過zookeeper管理級聯配置,選舉leader,並管理和協調生產者和消費者去使用broker。
3.broker
kafka集群包含乙個或多個服務例項,這些服務例項被稱為broker。是kafka當中具體處理資料的單元。kafka支援broker的水平擴充套件。一般broker資料越多,集群的吞吐力就越強。
4.消費者
從kafka broker讀取訊息的客戶端
1.日常系統解耦,將訊息生產者和訂閱者分離。
2.在應用前端以訊息佇列接收請求,當請求超過佇列長度,直接不處理重定向至乙個靜態頁面,來達到流量削峰的目的,此場景一般用於秒殺活動。
3.流失處理。從流資料處理引擎當中,如storm,spark streaming等,從topic中讀取資料,實時對其進行處理,並將處理後的資料寫入新topic中,供使用者和應用程式使用。
4.mysql資料庫資料同步。後端應用可以將資料先寫入kafka,讓後讓kafka非同步寫入mysql資料庫,這樣非常可以抗高峰,便於擴充套件。
今天的大資料學習分享,kafka基礎入門就為大家介紹到這裡了。在大資料實時流處理上,kafka受到越來越多的青睞,而大資料開發者們,自然也需要把這個框架熟練掌握下來。
Kafka的應用場景
1 建立實時的資料管道,以可靠地在系統或應用程式之間獲取資料 2 構建實時流應用程式,以轉換或響應資料流 如圖,可以看到 1 producers 可以有很多的應用程式,將訊息資料放到kafka的集群中。2 consumers 可以有很多的應用程式,將訊息資料從kafka集群中拉取出來。3 conne...
Kafka理論概述和應用場景
kafka是一種高吞吐量的分布式發布訂閱訊息系統,它可以處理消費者規模的 中的所有動作流資料。簡單地說,kafka就相比是乙個郵箱,生產者是傳送郵件的人,消費者是接收郵件的人,kafka就是用來存東西的,只不過它提供了一些處理郵件的機制。下面做進一步說明 broker即kafka程式,kafka程式...
kafka核心概念與應用場景
kafka的主要特點 kafka是分布式發布 訂閱訊息系統。它最初由linkedin公司開發,之後成為apache專案的一部分。kafka是乙個分布式的,可劃分的,冗餘備份的永續性的日誌服務,它主要用於處理活躍的流式資料。kafka的架構 kafka的整體架構非常簡單,是顯式分布式架構,produc...