Kafka入門(概念理解)

2021-10-09 14:11:57 字數 1063 閱讀 4583

apache kafka® 是 乙個分布式流處理平台. 這到底意味著什麼呢?

基本結構

傳統的訊息系統有兩個模組: 佇列 和 發布-訂閱。

在佇列中,消費組允許你將處理過程分發給一系列程序(消費組中的成員)。

在發布訂閱中,kafka允許你將訊息廣播給多個消費組。

kafka的優勢在於每個topic都有以下特性—可以擴充套件處理並且允許多訂閱者模式—不需要只選擇其中乙個.

kafka相比於傳統訊息佇列還具有更嚴格的順序保證

kafka 流處理不僅僅用來讀寫和儲存流式資料,它最終的目的是為了能夠進行實時的流處理。

在kafka中,流處理器不斷地從輸入的topic獲取流資料,處理資料後,再不斷生產流資料到輸出的topic中去。

簡單的資料處理可以直接用生產者和消費者的api。對於複雜的資料變換,kafka提供了streams api。 stream api 允許應用做一些複雜的處理,比如將流資料聚合或者join。

這一功能有助於解決以下這種應用程式所面臨的問題:處理無序資料,當消費端**變更後重新處理輸入,執行有狀態計算等。

streams api建立在kafka的核心之上:它使用producer和consumer api作為輸入,使用kafka進行有狀態的儲存, 並在流處理器例項之間使用相同的消費組機制來實現容錯。

通過組合儲存和低延遲訂閱,流式應用程式可以以同樣的方式處理過去和未來的資料。 乙個單一的應用程式可以處理歷史記錄的資料,並且可以持續不斷地處理以後到達的資料,而不是在到達最後一條記錄時結束程序。 這是乙個廣泛的流處理概念,其中包含批處理以及訊息驅動應用程式

同樣,作為流資料管道,能夠訂閱實時事件使得kafk具有非常低的延遲; 同時kafka還具有可靠儲存資料的特性,可用來儲存重要的支付資料, 或者與離線系統進行互動,系統可間歇性地載入資料,也可在停機維護後再次載入資料。流處理功能使得資料可以在到達時轉換資料。

Kafka 基礎概念理解

producer 訊息生產者,向 kafka broker 發訊息的客戶端。consumer 訊息消費者,從 kafka broker 取訊息的客戶端。consumer group 消費者組 cg 消費者組內每個消費者負責消費不同分割槽的資料,提高消費能力。乙個分割槽只能由組內乙個消費者消費,消費者...

KAFKA 開發者視角 概念理解

kafka是目前應對大資料需求下支援高吞吐量,高可用性,大資料量的訊息佇列。靈活使用kafka的特性可以解決很多實際的業務問題.kafka是採用集群部署可以橫向擴充套件的架構。說到集群就不得不說一下分布式,兩者都有壓力分攤為設計目的。簡單說一下對集群和分布式的理解。集群 通過分流資料達到壓力分攤的目...

react入門概念的理解

1.什麼是react?react是乙個前端框架,來自於facebook,適合於大型專案,效率高,基於元件化的方式開發。react是乙個基於元件化開發的前端框架,是facebook於13年5月開始開源的乙個框架,效率非常高,適合於大型專案,用於製作單頁面spa應用。2.react環境搭建 1 傳統標籤...