溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

CDP中的Kafka是什么

發(fā)布時間:2021-12-13 17:12:49 來源:億速云 閱讀:176 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要為大家展示了“CDP中的Kafka是什么”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“CDP中的Kafka是什么”這篇文章吧。

Apache Kafka是一個高性能、高可用性、冗余的流消息平臺。

Kafka簡介

Kafka的功能很像發(fā)布/訂閱消息系統(tǒng),但具有更高的吞吐量、內(nèi)置分區(qū)、復(fù)制和容錯能力。對于大規(guī)模消息處理應(yīng)用程序來說,Kafka是一個很好的解決方案。它通常與Apache Hadoop和Spark Streaming一起使用。

您可能會將日志視為按時間排序的文件或數(shù)據(jù)表。隨著時間的推移,較新的條目將從左到右追加到日志中。日志條目號可以方便地替換時間戳。

Kafka將這種獨特的抽象與傳統(tǒng)的發(fā)布/訂閱消息傳遞概念(例如生產(chǎn)者、消費者和經(jīng)紀(jì)人),并行性和企業(yè)功能集成在一起,以提高性能和容錯能力。

Kafka最初的用例是跟蹤網(wǎng)站上的用戶行為。網(wǎng)站活動(頁面瀏覽、搜索或用戶可能執(zhí)行的其他操作)被發(fā)布到中心主題,每種活動類型一個主題。

Kafka可用于監(jiān)視操作數(shù)據(jù)、聚合來自分布式應(yīng)用程序的統(tǒng)計信息以生成集中的數(shù)據(jù)饋送。它還適用于日志聚合,具有低延遲和很方便支持多個數(shù)據(jù)源。

Kafka提供以下內(nèi)容:

  • 具有O(1)磁盤結(jié)構(gòu)的持久消息傳遞,這意味著Kafka算法的執(zhí)行時間與輸入的大小無關(guān)。執(zhí)行時間是恒定的,即使存儲了數(shù)TB的消息也是如此。

  • 高吞吐量,即使使用適度的硬件,也可以每秒支持?jǐn)?shù)十萬條消息。

  • 明確支持通過Kafka服務(wù)器對消息進(jìn)行分區(qū)。它在消耗器集群上分配消耗量,同時保持消息流的順序。

  • 支持將并行數(shù)據(jù)加載到Hadoop。


kafka架構(gòu)

了解Kafka的架構(gòu)及其與理想的發(fā)布-訂閱系統(tǒng)的比較。

理想的發(fā)布-訂閱系統(tǒng)很簡單:發(fā)布者A的消息必須到達(dá)訂閱者A,發(fā)布者B的消息必須到達(dá)訂閱者B,依此類推。

圖1.理想的發(fā)布-訂閱系統(tǒng)CDP中的Kafka是什么

理想的系統(tǒng)具有以下優(yōu)點:

  • 無限回溯。新的訂戶A1可以在任何時間點讀取發(fā)布者A的流。

  • 消息保留。沒有消息丟失。

  • 無限的存儲空間。發(fā)布-訂閱系統(tǒng)具有無限制的消息存儲。

  • 無停機(jī)時間。發(fā)布-訂閱系統(tǒng)永遠(yuǎn)不會崩潰。

  • 無限擴(kuò)展。發(fā)布-訂閱系統(tǒng)可以以恒定的消息傳遞延遲來處理任意數(shù)量的發(fā)布者和/或訂閱者。

但是,Kafka的體系結(jié)構(gòu)偏離了此理想系統(tǒng)。一些主要區(qū)別是:

  • 消息傳遞是在復(fù)制的分布式提交日志之上實現(xiàn)的。

  • 客戶端具有更多功能,因此,責(zé)任更大。

  • 消息傳遞針對批處理而不是單個消息進(jìn)行了優(yōu)化。

  • 消息即使被消耗也將保留;它們可以再次被使用。

這些設(shè)計決策的結(jié)果是:

  • 極高的水平可擴(kuò)展性

  • 吞吐量極高

  • 高可用性

  • 不同的語義和消息傳遞保證


kafka術(shù)語

當(dāng)涉及到基本構(gòu)建模塊和關(guān)鍵概念時,Kafka使用自己的術(shù)語。這些術(shù)語的用法可能與其他技術(shù)有所不同。以下提供了Kafka最重要概念的列表和定義:

  • 代理(Broker):代理是一臺服務(wù)器,用于存儲發(fā)送到主題的消息并服務(wù)于消費者請求。

  • 主題(topic):主題是由一個或多個生產(chǎn)者編寫并由一個或多個消費者閱讀的消息隊列。

  • 生產(chǎn)者(producer):生產(chǎn)者是將記錄發(fā)送到Kafka主題的外部過程。

  • 消費者(consumer):消費者是一個外部進(jìn)程,它從Kafka集群接收主題流。

  • 客戶端(client):客戶端是指生產(chǎn)者和消費者的術(shù)語。

  • 記錄(record):記錄是發(fā)布-訂閱消息。記錄由鍵/值對和包含時間戳的元數(shù)據(jù)組成。

  • 分區(qū)(Partition):Kafka將記錄分為多個分區(qū)??梢詫⒎謪^(qū)視為某個主題的所有記錄的子集。

以上是“CDP中的Kafka是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI