'詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?'

"


"


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?



大數據時代來臨,如果你還不知道Kafka那你就真的out了(快速掌握Kafka請參考文章:如何全方位掌握Kafka核心技術)!據統計,有三分之一的世界財富500強企業正在使用Kafka,包括所有TOP10旅遊公司,7家TOP10銀行,8家TOP10保險公司,9家TOP10電信公司等等。

LinkedIn、Microsoft和Netflix每天都用Kafka處理萬億級的信息。Kafka主要應用於實時信息流的大數據收集或者實時分析(或者兩者兼有)。Kafka既可以為內存微服務提供持久性服務,也可以用於向複雜事件流系統和IoT/IFTTT式自動化系統反饋事件。

為什麼是Kafka?

Kafka常用於實時流數據結構的實時分析。由於Kafka是一種快速、可擴展、可持久和高容錯的發佈-訂閱消息系統(publish-subscribe messaging system),所以Kafka對於一些Use Case(有大數據量和高響應需求)的支持遠好於JMS、RabbitMQ和AMQP。相比於那些工具,Kafka支持更高的吞吐量,更高的穩定性和副本(replication)特性。這使得它比傳統的MOM更加適合跟蹤服務調用(可以跟蹤每次調用)或跟蹤IoT傳感器數據。

Kafka可以與Flume/Flafka、Spark Streaming、Storm、HBase、Flink以及Spark配合使用,用於實時獲取、分析和處理流數據。Kafka可以為Hadoop大數據湖(Hadoop BigData lake)提供數據流。Kafka Broker支持在Hadoop或Spark中低延時地處理和分析海量信息流。此外,Kafka子項目KafkaStreaming可用於實時分析。

什麼是Kafka Use Case?

簡而言之,Kafka用於流處理、網站活動跟蹤、度量收集和監視、日誌聚合、實時分析、CEP、將數據注入Spark和Hadoop、CQRS、重放消息、錯誤恢復以及分佈式提交內存計算(微服務)的日誌。

誰在使用Kafka?

許多需要快速處理大量數據的大公司都在使用Kafka。Kafka最初是由LinkedIn開發,用它來跟蹤活動數據和運營指標。Twitter把它作為Storm的一部分來作為流處理的基礎。Square把Kafka當作總線,將所有系統事件(日誌,自定義事件,指標等)傳輸到各個Square數據中心,或者輸出到Splunk,或者應用於Graphite(儀表板),或者實現Esper-like/ CEP警報系統。Spotify,Uber,Tumbler,Goldman Sachs,PayPal,Box,Cisco,CloudFlare和Netflix等公司也都在使用它。

為什麼Kafka這麼流行

首先最主要的原因是Kafka具有極佳的性能表現。它非常穩定,能提供穩定的持久化,具有靈活的訂閱-發佈消息隊列,可與N個消費者群組進行良好擴展,具有強大的複製功能,為生產者提供可調整的一致性保證,並在碎片級別提供保留排序(即Kafka主題分區)。

其次,Kafka可以很好地兼容需要數據流處理的系統,並將這些系統融合、轉換並加載到其他存儲。另外,Kafka操作(配置和使用)都非常簡單,而且Kafka的工作原理也很好理解。當然了,如果Kafka處理數據很慢,有再多其他優點都是沒有意義的,所以,“多快好省”就是Kafka的最大優勢。

為什麼Kafka這麼快

Kafka基於zero copy原則,深度依靠操作系統內核實現快速移動數據。Kafka能將數據記錄分批處理。這些批次數據可以通過端到端的方式從生產者到文件系統(Kafka主題日誌)再到消費者。批處理能實現更高效的數據壓縮並減少I / O延遲。Kafka將不可變的提交日誌寫入連續磁盤,從而避免了隨機磁盤訪問和磁盤尋道速度慢的問題。Kafka支持增加分區進行橫向擴展。它將主題日誌分成幾百個(可能有數千個)分區分佈到數千個服務器。這種方式可以讓Kafka承載海量負載。

Kafka Streaming

Kafka最常用於將數據實時傳輸到其他系統。Kafka作為一箇中間層來解耦不同的實時數據管道。Kafka核心並不適合入數據聚合(Data Aggregation)或CEP等的直接計算。Kafka Streaming作為Kafka生態系統的一部分,提供了進行實時分析的能力。Kafka可以為 Storm、Flink、Spark Streaming以及你的服務和CEP系統提供快速通道系統(實時操作數據系統)。

Kafka也用於流數據批量數據分析。它將數據傳輸到大數據平臺或RDBMS、Cassandra、Spark甚至S3中用於未來的數據分析。這些數據存儲通常支持數據分析,報告,數據科學分析,合規性審計和備份。說了那麼多,讓我們來討論一個終極命題:

到底什麼是Kafka?

Kafka是一個分佈式流平臺,用於發佈和訂閱記錄流。Kafka可以用於容錯存儲。Kafka將主題日誌分區複製到多個服務器。Kafka的設計目的是為了讓你的應用能在記錄生成後立即就能處理。Kafka的處理速度很快,通過批處理和壓縮記錄有效地使用IO。Kafka會對數據流進行解耦。Kafka用於將數據流到數據湖、應用和實時流分析系統中。

"


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?



大數據時代來臨,如果你還不知道Kafka那你就真的out了(快速掌握Kafka請參考文章:如何全方位掌握Kafka核心技術)!據統計,有三分之一的世界財富500強企業正在使用Kafka,包括所有TOP10旅遊公司,7家TOP10銀行,8家TOP10保險公司,9家TOP10電信公司等等。

LinkedIn、Microsoft和Netflix每天都用Kafka處理萬億級的信息。Kafka主要應用於實時信息流的大數據收集或者實時分析(或者兩者兼有)。Kafka既可以為內存微服務提供持久性服務,也可以用於向複雜事件流系統和IoT/IFTTT式自動化系統反饋事件。

為什麼是Kafka?

Kafka常用於實時流數據結構的實時分析。由於Kafka是一種快速、可擴展、可持久和高容錯的發佈-訂閱消息系統(publish-subscribe messaging system),所以Kafka對於一些Use Case(有大數據量和高響應需求)的支持遠好於JMS、RabbitMQ和AMQP。相比於那些工具,Kafka支持更高的吞吐量,更高的穩定性和副本(replication)特性。這使得它比傳統的MOM更加適合跟蹤服務調用(可以跟蹤每次調用)或跟蹤IoT傳感器數據。

Kafka可以與Flume/Flafka、Spark Streaming、Storm、HBase、Flink以及Spark配合使用,用於實時獲取、分析和處理流數據。Kafka可以為Hadoop大數據湖(Hadoop BigData lake)提供數據流。Kafka Broker支持在Hadoop或Spark中低延時地處理和分析海量信息流。此外,Kafka子項目KafkaStreaming可用於實時分析。

什麼是Kafka Use Case?

簡而言之,Kafka用於流處理、網站活動跟蹤、度量收集和監視、日誌聚合、實時分析、CEP、將數據注入Spark和Hadoop、CQRS、重放消息、錯誤恢復以及分佈式提交內存計算(微服務)的日誌。

誰在使用Kafka?

許多需要快速處理大量數據的大公司都在使用Kafka。Kafka最初是由LinkedIn開發,用它來跟蹤活動數據和運營指標。Twitter把它作為Storm的一部分來作為流處理的基礎。Square把Kafka當作總線,將所有系統事件(日誌,自定義事件,指標等)傳輸到各個Square數據中心,或者輸出到Splunk,或者應用於Graphite(儀表板),或者實現Esper-like/ CEP警報系統。Spotify,Uber,Tumbler,Goldman Sachs,PayPal,Box,Cisco,CloudFlare和Netflix等公司也都在使用它。

為什麼Kafka這麼流行

首先最主要的原因是Kafka具有極佳的性能表現。它非常穩定,能提供穩定的持久化,具有靈活的訂閱-發佈消息隊列,可與N個消費者群組進行良好擴展,具有強大的複製功能,為生產者提供可調整的一致性保證,並在碎片級別提供保留排序(即Kafka主題分區)。

其次,Kafka可以很好地兼容需要數據流處理的系統,並將這些系統融合、轉換並加載到其他存儲。另外,Kafka操作(配置和使用)都非常簡單,而且Kafka的工作原理也很好理解。當然了,如果Kafka處理數據很慢,有再多其他優點都是沒有意義的,所以,“多快好省”就是Kafka的最大優勢。

為什麼Kafka這麼快

Kafka基於zero copy原則,深度依靠操作系統內核實現快速移動數據。Kafka能將數據記錄分批處理。這些批次數據可以通過端到端的方式從生產者到文件系統(Kafka主題日誌)再到消費者。批處理能實現更高效的數據壓縮並減少I / O延遲。Kafka將不可變的提交日誌寫入連續磁盤,從而避免了隨機磁盤訪問和磁盤尋道速度慢的問題。Kafka支持增加分區進行橫向擴展。它將主題日誌分成幾百個(可能有數千個)分區分佈到數千個服務器。這種方式可以讓Kafka承載海量負載。

Kafka Streaming

Kafka最常用於將數據實時傳輸到其他系統。Kafka作為一箇中間層來解耦不同的實時數據管道。Kafka核心並不適合入數據聚合(Data Aggregation)或CEP等的直接計算。Kafka Streaming作為Kafka生態系統的一部分,提供了進行實時分析的能力。Kafka可以為 Storm、Flink、Spark Streaming以及你的服務和CEP系統提供快速通道系統(實時操作數據系統)。

Kafka也用於流數據批量數據分析。它將數據傳輸到大數據平臺或RDBMS、Cassandra、Spark甚至S3中用於未來的數據分析。這些數據存儲通常支持數據分析,報告,數據科學分析,合規性審計和備份。說了那麼多,讓我們來討論一個終極命題:

到底什麼是Kafka?

Kafka是一個分佈式流平臺,用於發佈和訂閱記錄流。Kafka可以用於容錯存儲。Kafka將主題日誌分區複製到多個服務器。Kafka的設計目的是為了讓你的應用能在記錄生成後立即就能處理。Kafka的處理速度很快,通過批處理和壓縮記錄有效地使用IO。Kafka會對數據流進行解耦。Kafka用於將數據流到數據湖、應用和實時流分析系統中。

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


Kafka支持多語言

客戶端和服務器之間的Kafka通信使用基於TCP的線路協議,該協議是版本化和文檔化的。Kafka承諾保持對老客戶端的向後兼容性,並支持多種語言,包括C#,Java,C,Python,Ruby等多種語言。Kafka生態系統還提供REST代理,可通過HTTP和JSON輕鬆集成。Kafka還通過Kafka的融合模式註冊(ConfluentSchema Registry)支持Avro模式。Avro和模式註冊允許客戶以多種編程語言製作和讀取複雜的記錄,並允許記錄的變化。

Kafka的用途

Kafka支持構建實時流數據管道。Kafka支持內存微服務(比如actors,Akka,Baratine.io,QBit,reactors,reactive,,Vert.x,RxJava,Spring Reactor)。Kafka支持構建實時流應用程序,進行實時數據分析,轉換,響應,聚合、加入實時數據流以及執行CEP。

Kafka可以用來協助收集度量標準或KPI,從多個來源收集統計信息並實現eventsourcing(將應用狀態的所有更改捕獲為事件序列)。可以將它與內存微服務和actor系統一起使用,以實現內中服務(分佈式系統的外部提交日誌)。

Kafka可以用來在節點之間複製數據,為節點重新同步以及恢復狀態。雖然Kafka主要用於實時數據分析和流處理,但也可以將其用於日誌聚合,消息傳遞,跟蹤點擊流,審計跟蹤等等。

Kafka可擴展的消息存儲

Kafka是一個很好的記錄或信息存儲系統。Kafka就像一個提交日誌存儲和複製的高速文件系統。這些特點使Kafka適用於各種應用場合。寫入Kafka主題的記錄會持久保存到磁盤並複製到其他服務器以實現容錯。由於現在磁盤速度快而且相當大,所以這種方式非常有用。Kafka生產者可以等待確認,所以消息是持久的,因為生產者在複製完成之前不會完成寫入操作。Kafka磁盤結構可以很好地擴展。磁盤在大批量流式傳輸時具有非常高的吞吐量。

此外,Kafka客戶端和消費者可以控制讀取位置(偏移量),這允許在出現重要錯誤(即修復錯誤和重放)時重播日誌等用例。而且,由於偏移量是按照每個消費者群體進行跟蹤的,所以消費者可以非常靈活地重播日誌。

Kafka的記錄保留

Kafka集群保留所有公佈的記錄。如果沒有設置限制,它將保留所有記錄直到磁盤空間不足。可以設置基於時間的限制(可配置的保留期限),也可以基於空間的限制(可根據存儲空間進行配置)或精簡(保留最新版本的記錄)。除非被時間,空間或精簡等策略刪除,主題日誌中的記錄一直處於可用狀態。由於Kafka總是在主題日誌的末尾寫入,所以它的消費速度不會受到大小的影響。

如何快速學習Kafka?

《Kafka核心技術與實戰》專欄作為一次全新的交付,胡夕(現任人人貸公司計算平臺部總監,也是 Apache Kafka 的一名活躍代碼貢獻者)用更輕鬆更容易理解的語言和形式,幫你獲取到最新的 Kafka 實戰經驗。

大數據開發高薪必備全套資源【免費獲取】

Oracle高級技術總監多年精心創作一套完整課程體系【大數據、人工智能開發必看】,全面助力大數據開發零基礎+入門+提升+項目=高薪


"


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?



大數據時代來臨,如果你還不知道Kafka那你就真的out了(快速掌握Kafka請參考文章:如何全方位掌握Kafka核心技術)!據統計,有三分之一的世界財富500強企業正在使用Kafka,包括所有TOP10旅遊公司,7家TOP10銀行,8家TOP10保險公司,9家TOP10電信公司等等。

LinkedIn、Microsoft和Netflix每天都用Kafka處理萬億級的信息。Kafka主要應用於實時信息流的大數據收集或者實時分析(或者兩者兼有)。Kafka既可以為內存微服務提供持久性服務,也可以用於向複雜事件流系統和IoT/IFTTT式自動化系統反饋事件。

為什麼是Kafka?

Kafka常用於實時流數據結構的實時分析。由於Kafka是一種快速、可擴展、可持久和高容錯的發佈-訂閱消息系統(publish-subscribe messaging system),所以Kafka對於一些Use Case(有大數據量和高響應需求)的支持遠好於JMS、RabbitMQ和AMQP。相比於那些工具,Kafka支持更高的吞吐量,更高的穩定性和副本(replication)特性。這使得它比傳統的MOM更加適合跟蹤服務調用(可以跟蹤每次調用)或跟蹤IoT傳感器數據。

Kafka可以與Flume/Flafka、Spark Streaming、Storm、HBase、Flink以及Spark配合使用,用於實時獲取、分析和處理流數據。Kafka可以為Hadoop大數據湖(Hadoop BigData lake)提供數據流。Kafka Broker支持在Hadoop或Spark中低延時地處理和分析海量信息流。此外,Kafka子項目KafkaStreaming可用於實時分析。

什麼是Kafka Use Case?

簡而言之,Kafka用於流處理、網站活動跟蹤、度量收集和監視、日誌聚合、實時分析、CEP、將數據注入Spark和Hadoop、CQRS、重放消息、錯誤恢復以及分佈式提交內存計算(微服務)的日誌。

誰在使用Kafka?

許多需要快速處理大量數據的大公司都在使用Kafka。Kafka最初是由LinkedIn開發,用它來跟蹤活動數據和運營指標。Twitter把它作為Storm的一部分來作為流處理的基礎。Square把Kafka當作總線,將所有系統事件(日誌,自定義事件,指標等)傳輸到各個Square數據中心,或者輸出到Splunk,或者應用於Graphite(儀表板),或者實現Esper-like/ CEP警報系統。Spotify,Uber,Tumbler,Goldman Sachs,PayPal,Box,Cisco,CloudFlare和Netflix等公司也都在使用它。

為什麼Kafka這麼流行

首先最主要的原因是Kafka具有極佳的性能表現。它非常穩定,能提供穩定的持久化,具有靈活的訂閱-發佈消息隊列,可與N個消費者群組進行良好擴展,具有強大的複製功能,為生產者提供可調整的一致性保證,並在碎片級別提供保留排序(即Kafka主題分區)。

其次,Kafka可以很好地兼容需要數據流處理的系統,並將這些系統融合、轉換並加載到其他存儲。另外,Kafka操作(配置和使用)都非常簡單,而且Kafka的工作原理也很好理解。當然了,如果Kafka處理數據很慢,有再多其他優點都是沒有意義的,所以,“多快好省”就是Kafka的最大優勢。

為什麼Kafka這麼快

Kafka基於zero copy原則,深度依靠操作系統內核實現快速移動數據。Kafka能將數據記錄分批處理。這些批次數據可以通過端到端的方式從生產者到文件系統(Kafka主題日誌)再到消費者。批處理能實現更高效的數據壓縮並減少I / O延遲。Kafka將不可變的提交日誌寫入連續磁盤,從而避免了隨機磁盤訪問和磁盤尋道速度慢的問題。Kafka支持增加分區進行橫向擴展。它將主題日誌分成幾百個(可能有數千個)分區分佈到數千個服務器。這種方式可以讓Kafka承載海量負載。

Kafka Streaming

Kafka最常用於將數據實時傳輸到其他系統。Kafka作為一箇中間層來解耦不同的實時數據管道。Kafka核心並不適合入數據聚合(Data Aggregation)或CEP等的直接計算。Kafka Streaming作為Kafka生態系統的一部分,提供了進行實時分析的能力。Kafka可以為 Storm、Flink、Spark Streaming以及你的服務和CEP系統提供快速通道系統(實時操作數據系統)。

Kafka也用於流數據批量數據分析。它將數據傳輸到大數據平臺或RDBMS、Cassandra、Spark甚至S3中用於未來的數據分析。這些數據存儲通常支持數據分析,報告,數據科學分析,合規性審計和備份。說了那麼多,讓我們來討論一個終極命題:

到底什麼是Kafka?

Kafka是一個分佈式流平臺,用於發佈和訂閱記錄流。Kafka可以用於容錯存儲。Kafka將主題日誌分區複製到多個服務器。Kafka的設計目的是為了讓你的應用能在記錄生成後立即就能處理。Kafka的處理速度很快,通過批處理和壓縮記錄有效地使用IO。Kafka會對數據流進行解耦。Kafka用於將數據流到數據湖、應用和實時流分析系統中。

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


Kafka支持多語言

客戶端和服務器之間的Kafka通信使用基於TCP的線路協議,該協議是版本化和文檔化的。Kafka承諾保持對老客戶端的向後兼容性,並支持多種語言,包括C#,Java,C,Python,Ruby等多種語言。Kafka生態系統還提供REST代理,可通過HTTP和JSON輕鬆集成。Kafka還通過Kafka的融合模式註冊(ConfluentSchema Registry)支持Avro模式。Avro和模式註冊允許客戶以多種編程語言製作和讀取複雜的記錄,並允許記錄的變化。

Kafka的用途

Kafka支持構建實時流數據管道。Kafka支持內存微服務(比如actors,Akka,Baratine.io,QBit,reactors,reactive,,Vert.x,RxJava,Spring Reactor)。Kafka支持構建實時流應用程序,進行實時數據分析,轉換,響應,聚合、加入實時數據流以及執行CEP。

Kafka可以用來協助收集度量標準或KPI,從多個來源收集統計信息並實現eventsourcing(將應用狀態的所有更改捕獲為事件序列)。可以將它與內存微服務和actor系統一起使用,以實現內中服務(分佈式系統的外部提交日誌)。

Kafka可以用來在節點之間複製數據,為節點重新同步以及恢復狀態。雖然Kafka主要用於實時數據分析和流處理,但也可以將其用於日誌聚合,消息傳遞,跟蹤點擊流,審計跟蹤等等。

Kafka可擴展的消息存儲

Kafka是一個很好的記錄或信息存儲系統。Kafka就像一個提交日誌存儲和複製的高速文件系統。這些特點使Kafka適用於各種應用場合。寫入Kafka主題的記錄會持久保存到磁盤並複製到其他服務器以實現容錯。由於現在磁盤速度快而且相當大,所以這種方式非常有用。Kafka生產者可以等待確認,所以消息是持久的,因為生產者在複製完成之前不會完成寫入操作。Kafka磁盤結構可以很好地擴展。磁盤在大批量流式傳輸時具有非常高的吞吐量。

此外,Kafka客戶端和消費者可以控制讀取位置(偏移量),這允許在出現重要錯誤(即修復錯誤和重放)時重播日誌等用例。而且,由於偏移量是按照每個消費者群體進行跟蹤的,所以消費者可以非常靈活地重播日誌。

Kafka的記錄保留

Kafka集群保留所有公佈的記錄。如果沒有設置限制,它將保留所有記錄直到磁盤空間不足。可以設置基於時間的限制(可配置的保留期限),也可以基於空間的限制(可根據存儲空間進行配置)或精簡(保留最新版本的記錄)。除非被時間,空間或精簡等策略刪除,主題日誌中的記錄一直處於可用狀態。由於Kafka總是在主題日誌的末尾寫入,所以它的消費速度不會受到大小的影響。

如何快速學習Kafka?

《Kafka核心技術與實戰》專欄作為一次全新的交付,胡夕(現任人人貸公司計算平臺部總監,也是 Apache Kafka 的一名活躍代碼貢獻者)用更輕鬆更容易理解的語言和形式,幫你獲取到最新的 Kafka 實戰經驗。

大數據開發高薪必備全套資源【免費獲取】

Oracle高級技術總監多年精心創作一套完整課程體系【大數據、人工智能開發必看】,全面助力大數據開發零基礎+入門+提升+項目=高薪


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據零基礎入門」

"


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?



大數據時代來臨,如果你還不知道Kafka那你就真的out了(快速掌握Kafka請參考文章:如何全方位掌握Kafka核心技術)!據統計,有三分之一的世界財富500強企業正在使用Kafka,包括所有TOP10旅遊公司,7家TOP10銀行,8家TOP10保險公司,9家TOP10電信公司等等。

LinkedIn、Microsoft和Netflix每天都用Kafka處理萬億級的信息。Kafka主要應用於實時信息流的大數據收集或者實時分析(或者兩者兼有)。Kafka既可以為內存微服務提供持久性服務,也可以用於向複雜事件流系統和IoT/IFTTT式自動化系統反饋事件。

為什麼是Kafka?

Kafka常用於實時流數據結構的實時分析。由於Kafka是一種快速、可擴展、可持久和高容錯的發佈-訂閱消息系統(publish-subscribe messaging system),所以Kafka對於一些Use Case(有大數據量和高響應需求)的支持遠好於JMS、RabbitMQ和AMQP。相比於那些工具,Kafka支持更高的吞吐量,更高的穩定性和副本(replication)特性。這使得它比傳統的MOM更加適合跟蹤服務調用(可以跟蹤每次調用)或跟蹤IoT傳感器數據。

Kafka可以與Flume/Flafka、Spark Streaming、Storm、HBase、Flink以及Spark配合使用,用於實時獲取、分析和處理流數據。Kafka可以為Hadoop大數據湖(Hadoop BigData lake)提供數據流。Kafka Broker支持在Hadoop或Spark中低延時地處理和分析海量信息流。此外,Kafka子項目KafkaStreaming可用於實時分析。

什麼是Kafka Use Case?

簡而言之,Kafka用於流處理、網站活動跟蹤、度量收集和監視、日誌聚合、實時分析、CEP、將數據注入Spark和Hadoop、CQRS、重放消息、錯誤恢復以及分佈式提交內存計算(微服務)的日誌。

誰在使用Kafka?

許多需要快速處理大量數據的大公司都在使用Kafka。Kafka最初是由LinkedIn開發,用它來跟蹤活動數據和運營指標。Twitter把它作為Storm的一部分來作為流處理的基礎。Square把Kafka當作總線,將所有系統事件(日誌,自定義事件,指標等)傳輸到各個Square數據中心,或者輸出到Splunk,或者應用於Graphite(儀表板),或者實現Esper-like/ CEP警報系統。Spotify,Uber,Tumbler,Goldman Sachs,PayPal,Box,Cisco,CloudFlare和Netflix等公司也都在使用它。

為什麼Kafka這麼流行

首先最主要的原因是Kafka具有極佳的性能表現。它非常穩定,能提供穩定的持久化,具有靈活的訂閱-發佈消息隊列,可與N個消費者群組進行良好擴展,具有強大的複製功能,為生產者提供可調整的一致性保證,並在碎片級別提供保留排序(即Kafka主題分區)。

其次,Kafka可以很好地兼容需要數據流處理的系統,並將這些系統融合、轉換並加載到其他存儲。另外,Kafka操作(配置和使用)都非常簡單,而且Kafka的工作原理也很好理解。當然了,如果Kafka處理數據很慢,有再多其他優點都是沒有意義的,所以,“多快好省”就是Kafka的最大優勢。

為什麼Kafka這麼快

Kafka基於zero copy原則,深度依靠操作系統內核實現快速移動數據。Kafka能將數據記錄分批處理。這些批次數據可以通過端到端的方式從生產者到文件系統(Kafka主題日誌)再到消費者。批處理能實現更高效的數據壓縮並減少I / O延遲。Kafka將不可變的提交日誌寫入連續磁盤,從而避免了隨機磁盤訪問和磁盤尋道速度慢的問題。Kafka支持增加分區進行橫向擴展。它將主題日誌分成幾百個(可能有數千個)分區分佈到數千個服務器。這種方式可以讓Kafka承載海量負載。

Kafka Streaming

Kafka最常用於將數據實時傳輸到其他系統。Kafka作為一箇中間層來解耦不同的實時數據管道。Kafka核心並不適合入數據聚合(Data Aggregation)或CEP等的直接計算。Kafka Streaming作為Kafka生態系統的一部分,提供了進行實時分析的能力。Kafka可以為 Storm、Flink、Spark Streaming以及你的服務和CEP系統提供快速通道系統(實時操作數據系統)。

Kafka也用於流數據批量數據分析。它將數據傳輸到大數據平臺或RDBMS、Cassandra、Spark甚至S3中用於未來的數據分析。這些數據存儲通常支持數據分析,報告,數據科學分析,合規性審計和備份。說了那麼多,讓我們來討論一個終極命題:

到底什麼是Kafka?

Kafka是一個分佈式流平臺,用於發佈和訂閱記錄流。Kafka可以用於容錯存儲。Kafka將主題日誌分區複製到多個服務器。Kafka的設計目的是為了讓你的應用能在記錄生成後立即就能處理。Kafka的處理速度很快,通過批處理和壓縮記錄有效地使用IO。Kafka會對數據流進行解耦。Kafka用於將數據流到數據湖、應用和實時流分析系統中。

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


Kafka支持多語言

客戶端和服務器之間的Kafka通信使用基於TCP的線路協議,該協議是版本化和文檔化的。Kafka承諾保持對老客戶端的向後兼容性,並支持多種語言,包括C#,Java,C,Python,Ruby等多種語言。Kafka生態系統還提供REST代理,可通過HTTP和JSON輕鬆集成。Kafka還通過Kafka的融合模式註冊(ConfluentSchema Registry)支持Avro模式。Avro和模式註冊允許客戶以多種編程語言製作和讀取複雜的記錄,並允許記錄的變化。

Kafka的用途

Kafka支持構建實時流數據管道。Kafka支持內存微服務(比如actors,Akka,Baratine.io,QBit,reactors,reactive,,Vert.x,RxJava,Spring Reactor)。Kafka支持構建實時流應用程序,進行實時數據分析,轉換,響應,聚合、加入實時數據流以及執行CEP。

Kafka可以用來協助收集度量標準或KPI,從多個來源收集統計信息並實現eventsourcing(將應用狀態的所有更改捕獲為事件序列)。可以將它與內存微服務和actor系統一起使用,以實現內中服務(分佈式系統的外部提交日誌)。

Kafka可以用來在節點之間複製數據,為節點重新同步以及恢復狀態。雖然Kafka主要用於實時數據分析和流處理,但也可以將其用於日誌聚合,消息傳遞,跟蹤點擊流,審計跟蹤等等。

Kafka可擴展的消息存儲

Kafka是一個很好的記錄或信息存儲系統。Kafka就像一個提交日誌存儲和複製的高速文件系統。這些特點使Kafka適用於各種應用場合。寫入Kafka主題的記錄會持久保存到磁盤並複製到其他服務器以實現容錯。由於現在磁盤速度快而且相當大,所以這種方式非常有用。Kafka生產者可以等待確認,所以消息是持久的,因為生產者在複製完成之前不會完成寫入操作。Kafka磁盤結構可以很好地擴展。磁盤在大批量流式傳輸時具有非常高的吞吐量。

此外,Kafka客戶端和消費者可以控制讀取位置(偏移量),這允許在出現重要錯誤(即修復錯誤和重放)時重播日誌等用例。而且,由於偏移量是按照每個消費者群體進行跟蹤的,所以消費者可以非常靈活地重播日誌。

Kafka的記錄保留

Kafka集群保留所有公佈的記錄。如果沒有設置限制,它將保留所有記錄直到磁盤空間不足。可以設置基於時間的限制(可配置的保留期限),也可以基於空間的限制(可根據存儲空間進行配置)或精簡(保留最新版本的記錄)。除非被時間,空間或精簡等策略刪除,主題日誌中的記錄一直處於可用狀態。由於Kafka總是在主題日誌的末尾寫入,所以它的消費速度不會受到大小的影響。

如何快速學習Kafka?

《Kafka核心技術與實戰》專欄作為一次全新的交付,胡夕(現任人人貸公司計算平臺部總監,也是 Apache Kafka 的一名活躍代碼貢獻者)用更輕鬆更容易理解的語言和形式,幫你獲取到最新的 Kafka 實戰經驗。

大數據開發高薪必備全套資源【免費獲取】

Oracle高級技術總監多年精心創作一套完整課程體系【大數據、人工智能開發必看】,全面助力大數據開發零基礎+入門+提升+項目=高薪


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據零基礎入門」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據架構系統組件」

"


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?



大數據時代來臨,如果你還不知道Kafka那你就真的out了(快速掌握Kafka請參考文章:如何全方位掌握Kafka核心技術)!據統計,有三分之一的世界財富500強企業正在使用Kafka,包括所有TOP10旅遊公司,7家TOP10銀行,8家TOP10保險公司,9家TOP10電信公司等等。

LinkedIn、Microsoft和Netflix每天都用Kafka處理萬億級的信息。Kafka主要應用於實時信息流的大數據收集或者實時分析(或者兩者兼有)。Kafka既可以為內存微服務提供持久性服務,也可以用於向複雜事件流系統和IoT/IFTTT式自動化系統反饋事件。

為什麼是Kafka?

Kafka常用於實時流數據結構的實時分析。由於Kafka是一種快速、可擴展、可持久和高容錯的發佈-訂閱消息系統(publish-subscribe messaging system),所以Kafka對於一些Use Case(有大數據量和高響應需求)的支持遠好於JMS、RabbitMQ和AMQP。相比於那些工具,Kafka支持更高的吞吐量,更高的穩定性和副本(replication)特性。這使得它比傳統的MOM更加適合跟蹤服務調用(可以跟蹤每次調用)或跟蹤IoT傳感器數據。

Kafka可以與Flume/Flafka、Spark Streaming、Storm、HBase、Flink以及Spark配合使用,用於實時獲取、分析和處理流數據。Kafka可以為Hadoop大數據湖(Hadoop BigData lake)提供數據流。Kafka Broker支持在Hadoop或Spark中低延時地處理和分析海量信息流。此外,Kafka子項目KafkaStreaming可用於實時分析。

什麼是Kafka Use Case?

簡而言之,Kafka用於流處理、網站活動跟蹤、度量收集和監視、日誌聚合、實時分析、CEP、將數據注入Spark和Hadoop、CQRS、重放消息、錯誤恢復以及分佈式提交內存計算(微服務)的日誌。

誰在使用Kafka?

許多需要快速處理大量數據的大公司都在使用Kafka。Kafka最初是由LinkedIn開發,用它來跟蹤活動數據和運營指標。Twitter把它作為Storm的一部分來作為流處理的基礎。Square把Kafka當作總線,將所有系統事件(日誌,自定義事件,指標等)傳輸到各個Square數據中心,或者輸出到Splunk,或者應用於Graphite(儀表板),或者實現Esper-like/ CEP警報系統。Spotify,Uber,Tumbler,Goldman Sachs,PayPal,Box,Cisco,CloudFlare和Netflix等公司也都在使用它。

為什麼Kafka這麼流行

首先最主要的原因是Kafka具有極佳的性能表現。它非常穩定,能提供穩定的持久化,具有靈活的訂閱-發佈消息隊列,可與N個消費者群組進行良好擴展,具有強大的複製功能,為生產者提供可調整的一致性保證,並在碎片級別提供保留排序(即Kafka主題分區)。

其次,Kafka可以很好地兼容需要數據流處理的系統,並將這些系統融合、轉換並加載到其他存儲。另外,Kafka操作(配置和使用)都非常簡單,而且Kafka的工作原理也很好理解。當然了,如果Kafka處理數據很慢,有再多其他優點都是沒有意義的,所以,“多快好省”就是Kafka的最大優勢。

為什麼Kafka這麼快

Kafka基於zero copy原則,深度依靠操作系統內核實現快速移動數據。Kafka能將數據記錄分批處理。這些批次數據可以通過端到端的方式從生產者到文件系統(Kafka主題日誌)再到消費者。批處理能實現更高效的數據壓縮並減少I / O延遲。Kafka將不可變的提交日誌寫入連續磁盤,從而避免了隨機磁盤訪問和磁盤尋道速度慢的問題。Kafka支持增加分區進行橫向擴展。它將主題日誌分成幾百個(可能有數千個)分區分佈到數千個服務器。這種方式可以讓Kafka承載海量負載。

Kafka Streaming

Kafka最常用於將數據實時傳輸到其他系統。Kafka作為一箇中間層來解耦不同的實時數據管道。Kafka核心並不適合入數據聚合(Data Aggregation)或CEP等的直接計算。Kafka Streaming作為Kafka生態系統的一部分,提供了進行實時分析的能力。Kafka可以為 Storm、Flink、Spark Streaming以及你的服務和CEP系統提供快速通道系統(實時操作數據系統)。

Kafka也用於流數據批量數據分析。它將數據傳輸到大數據平臺或RDBMS、Cassandra、Spark甚至S3中用於未來的數據分析。這些數據存儲通常支持數據分析,報告,數據科學分析,合規性審計和備份。說了那麼多,讓我們來討論一個終極命題:

到底什麼是Kafka?

Kafka是一個分佈式流平臺,用於發佈和訂閱記錄流。Kafka可以用於容錯存儲。Kafka將主題日誌分區複製到多個服務器。Kafka的設計目的是為了讓你的應用能在記錄生成後立即就能處理。Kafka的處理速度很快,通過批處理和壓縮記錄有效地使用IO。Kafka會對數據流進行解耦。Kafka用於將數據流到數據湖、應用和實時流分析系統中。

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


Kafka支持多語言

客戶端和服務器之間的Kafka通信使用基於TCP的線路協議,該協議是版本化和文檔化的。Kafka承諾保持對老客戶端的向後兼容性,並支持多種語言,包括C#,Java,C,Python,Ruby等多種語言。Kafka生態系統還提供REST代理,可通過HTTP和JSON輕鬆集成。Kafka還通過Kafka的融合模式註冊(ConfluentSchema Registry)支持Avro模式。Avro和模式註冊允許客戶以多種編程語言製作和讀取複雜的記錄,並允許記錄的變化。

Kafka的用途

Kafka支持構建實時流數據管道。Kafka支持內存微服務(比如actors,Akka,Baratine.io,QBit,reactors,reactive,,Vert.x,RxJava,Spring Reactor)。Kafka支持構建實時流應用程序,進行實時數據分析,轉換,響應,聚合、加入實時數據流以及執行CEP。

Kafka可以用來協助收集度量標準或KPI,從多個來源收集統計信息並實現eventsourcing(將應用狀態的所有更改捕獲為事件序列)。可以將它與內存微服務和actor系統一起使用,以實現內中服務(分佈式系統的外部提交日誌)。

Kafka可以用來在節點之間複製數據,為節點重新同步以及恢復狀態。雖然Kafka主要用於實時數據分析和流處理,但也可以將其用於日誌聚合,消息傳遞,跟蹤點擊流,審計跟蹤等等。

Kafka可擴展的消息存儲

Kafka是一個很好的記錄或信息存儲系統。Kafka就像一個提交日誌存儲和複製的高速文件系統。這些特點使Kafka適用於各種應用場合。寫入Kafka主題的記錄會持久保存到磁盤並複製到其他服務器以實現容錯。由於現在磁盤速度快而且相當大,所以這種方式非常有用。Kafka生產者可以等待確認,所以消息是持久的,因為生產者在複製完成之前不會完成寫入操作。Kafka磁盤結構可以很好地擴展。磁盤在大批量流式傳輸時具有非常高的吞吐量。

此外,Kafka客戶端和消費者可以控制讀取位置(偏移量),這允許在出現重要錯誤(即修復錯誤和重放)時重播日誌等用例。而且,由於偏移量是按照每個消費者群體進行跟蹤的,所以消費者可以非常靈活地重播日誌。

Kafka的記錄保留

Kafka集群保留所有公佈的記錄。如果沒有設置限制,它將保留所有記錄直到磁盤空間不足。可以設置基於時間的限制(可配置的保留期限),也可以基於空間的限制(可根據存儲空間進行配置)或精簡(保留最新版本的記錄)。除非被時間,空間或精簡等策略刪除,主題日誌中的記錄一直處於可用狀態。由於Kafka總是在主題日誌的末尾寫入,所以它的消費速度不會受到大小的影響。

如何快速學習Kafka?

《Kafka核心技術與實戰》專欄作為一次全新的交付,胡夕(現任人人貸公司計算平臺部總監,也是 Apache Kafka 的一名活躍代碼貢獻者)用更輕鬆更容易理解的語言和形式,幫你獲取到最新的 Kafka 實戰經驗。

大數據開發高薪必備全套資源【免費獲取】

Oracle高級技術總監多年精心創作一套完整課程體系【大數據、人工智能開發必看】,全面助力大數據開發零基礎+入門+提升+項目=高薪


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據零基礎入門」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據架構系統組件」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據全套系統工具安裝包」

Java必備工具

"


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?



大數據時代來臨,如果你還不知道Kafka那你就真的out了(快速掌握Kafka請參考文章:如何全方位掌握Kafka核心技術)!據統計,有三分之一的世界財富500強企業正在使用Kafka,包括所有TOP10旅遊公司,7家TOP10銀行,8家TOP10保險公司,9家TOP10電信公司等等。

LinkedIn、Microsoft和Netflix每天都用Kafka處理萬億級的信息。Kafka主要應用於實時信息流的大數據收集或者實時分析(或者兩者兼有)。Kafka既可以為內存微服務提供持久性服務,也可以用於向複雜事件流系統和IoT/IFTTT式自動化系統反饋事件。

為什麼是Kafka?

Kafka常用於實時流數據結構的實時分析。由於Kafka是一種快速、可擴展、可持久和高容錯的發佈-訂閱消息系統(publish-subscribe messaging system),所以Kafka對於一些Use Case(有大數據量和高響應需求)的支持遠好於JMS、RabbitMQ和AMQP。相比於那些工具,Kafka支持更高的吞吐量,更高的穩定性和副本(replication)特性。這使得它比傳統的MOM更加適合跟蹤服務調用(可以跟蹤每次調用)或跟蹤IoT傳感器數據。

Kafka可以與Flume/Flafka、Spark Streaming、Storm、HBase、Flink以及Spark配合使用,用於實時獲取、分析和處理流數據。Kafka可以為Hadoop大數據湖(Hadoop BigData lake)提供數據流。Kafka Broker支持在Hadoop或Spark中低延時地處理和分析海量信息流。此外,Kafka子項目KafkaStreaming可用於實時分析。

什麼是Kafka Use Case?

簡而言之,Kafka用於流處理、網站活動跟蹤、度量收集和監視、日誌聚合、實時分析、CEP、將數據注入Spark和Hadoop、CQRS、重放消息、錯誤恢復以及分佈式提交內存計算(微服務)的日誌。

誰在使用Kafka?

許多需要快速處理大量數據的大公司都在使用Kafka。Kafka最初是由LinkedIn開發,用它來跟蹤活動數據和運營指標。Twitter把它作為Storm的一部分來作為流處理的基礎。Square把Kafka當作總線,將所有系統事件(日誌,自定義事件,指標等)傳輸到各個Square數據中心,或者輸出到Splunk,或者應用於Graphite(儀表板),或者實現Esper-like/ CEP警報系統。Spotify,Uber,Tumbler,Goldman Sachs,PayPal,Box,Cisco,CloudFlare和Netflix等公司也都在使用它。

為什麼Kafka這麼流行

首先最主要的原因是Kafka具有極佳的性能表現。它非常穩定,能提供穩定的持久化,具有靈活的訂閱-發佈消息隊列,可與N個消費者群組進行良好擴展,具有強大的複製功能,為生產者提供可調整的一致性保證,並在碎片級別提供保留排序(即Kafka主題分區)。

其次,Kafka可以很好地兼容需要數據流處理的系統,並將這些系統融合、轉換並加載到其他存儲。另外,Kafka操作(配置和使用)都非常簡單,而且Kafka的工作原理也很好理解。當然了,如果Kafka處理數據很慢,有再多其他優點都是沒有意義的,所以,“多快好省”就是Kafka的最大優勢。

為什麼Kafka這麼快

Kafka基於zero copy原則,深度依靠操作系統內核實現快速移動數據。Kafka能將數據記錄分批處理。這些批次數據可以通過端到端的方式從生產者到文件系統(Kafka主題日誌)再到消費者。批處理能實現更高效的數據壓縮並減少I / O延遲。Kafka將不可變的提交日誌寫入連續磁盤,從而避免了隨機磁盤訪問和磁盤尋道速度慢的問題。Kafka支持增加分區進行橫向擴展。它將主題日誌分成幾百個(可能有數千個)分區分佈到數千個服務器。這種方式可以讓Kafka承載海量負載。

Kafka Streaming

Kafka最常用於將數據實時傳輸到其他系統。Kafka作為一箇中間層來解耦不同的實時數據管道。Kafka核心並不適合入數據聚合(Data Aggregation)或CEP等的直接計算。Kafka Streaming作為Kafka生態系統的一部分,提供了進行實時分析的能力。Kafka可以為 Storm、Flink、Spark Streaming以及你的服務和CEP系統提供快速通道系統(實時操作數據系統)。

Kafka也用於流數據批量數據分析。它將數據傳輸到大數據平臺或RDBMS、Cassandra、Spark甚至S3中用於未來的數據分析。這些數據存儲通常支持數據分析,報告,數據科學分析,合規性審計和備份。說了那麼多,讓我們來討論一個終極命題:

到底什麼是Kafka?

Kafka是一個分佈式流平臺,用於發佈和訂閱記錄流。Kafka可以用於容錯存儲。Kafka將主題日誌分區複製到多個服務器。Kafka的設計目的是為了讓你的應用能在記錄生成後立即就能處理。Kafka的處理速度很快,通過批處理和壓縮記錄有效地使用IO。Kafka會對數據流進行解耦。Kafka用於將數據流到數據湖、應用和實時流分析系統中。

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


Kafka支持多語言

客戶端和服務器之間的Kafka通信使用基於TCP的線路協議,該協議是版本化和文檔化的。Kafka承諾保持對老客戶端的向後兼容性,並支持多種語言,包括C#,Java,C,Python,Ruby等多種語言。Kafka生態系統還提供REST代理,可通過HTTP和JSON輕鬆集成。Kafka還通過Kafka的融合模式註冊(ConfluentSchema Registry)支持Avro模式。Avro和模式註冊允許客戶以多種編程語言製作和讀取複雜的記錄,並允許記錄的變化。

Kafka的用途

Kafka支持構建實時流數據管道。Kafka支持內存微服務(比如actors,Akka,Baratine.io,QBit,reactors,reactive,,Vert.x,RxJava,Spring Reactor)。Kafka支持構建實時流應用程序,進行實時數據分析,轉換,響應,聚合、加入實時數據流以及執行CEP。

Kafka可以用來協助收集度量標準或KPI,從多個來源收集統計信息並實現eventsourcing(將應用狀態的所有更改捕獲為事件序列)。可以將它與內存微服務和actor系統一起使用,以實現內中服務(分佈式系統的外部提交日誌)。

Kafka可以用來在節點之間複製數據,為節點重新同步以及恢復狀態。雖然Kafka主要用於實時數據分析和流處理,但也可以將其用於日誌聚合,消息傳遞,跟蹤點擊流,審計跟蹤等等。

Kafka可擴展的消息存儲

Kafka是一個很好的記錄或信息存儲系統。Kafka就像一個提交日誌存儲和複製的高速文件系統。這些特點使Kafka適用於各種應用場合。寫入Kafka主題的記錄會持久保存到磁盤並複製到其他服務器以實現容錯。由於現在磁盤速度快而且相當大,所以這種方式非常有用。Kafka生產者可以等待確認,所以消息是持久的,因為生產者在複製完成之前不會完成寫入操作。Kafka磁盤結構可以很好地擴展。磁盤在大批量流式傳輸時具有非常高的吞吐量。

此外,Kafka客戶端和消費者可以控制讀取位置(偏移量),這允許在出現重要錯誤(即修復錯誤和重放)時重播日誌等用例。而且,由於偏移量是按照每個消費者群體進行跟蹤的,所以消費者可以非常靈活地重播日誌。

Kafka的記錄保留

Kafka集群保留所有公佈的記錄。如果沒有設置限制,它將保留所有記錄直到磁盤空間不足。可以設置基於時間的限制(可配置的保留期限),也可以基於空間的限制(可根據存儲空間進行配置)或精簡(保留最新版本的記錄)。除非被時間,空間或精簡等策略刪除,主題日誌中的記錄一直處於可用狀態。由於Kafka總是在主題日誌的末尾寫入,所以它的消費速度不會受到大小的影響。

如何快速學習Kafka?

《Kafka核心技術與實戰》專欄作為一次全新的交付,胡夕(現任人人貸公司計算平臺部總監,也是 Apache Kafka 的一名活躍代碼貢獻者)用更輕鬆更容易理解的語言和形式,幫你獲取到最新的 Kafka 實戰經驗。

大數據開發高薪必備全套資源【免費獲取】

Oracle高級技術總監多年精心創作一套完整課程體系【大數據、人工智能開發必看】,全面助力大數據開發零基礎+入門+提升+項目=高薪


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據零基礎入門」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據架構系統組件」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據全套系統工具安裝包」

Java必備工具

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


大數據必備工具

"


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?



大數據時代來臨,如果你還不知道Kafka那你就真的out了(快速掌握Kafka請參考文章:如何全方位掌握Kafka核心技術)!據統計,有三分之一的世界財富500強企業正在使用Kafka,包括所有TOP10旅遊公司,7家TOP10銀行,8家TOP10保險公司,9家TOP10電信公司等等。

LinkedIn、Microsoft和Netflix每天都用Kafka處理萬億級的信息。Kafka主要應用於實時信息流的大數據收集或者實時分析(或者兩者兼有)。Kafka既可以為內存微服務提供持久性服務,也可以用於向複雜事件流系統和IoT/IFTTT式自動化系統反饋事件。

為什麼是Kafka?

Kafka常用於實時流數據結構的實時分析。由於Kafka是一種快速、可擴展、可持久和高容錯的發佈-訂閱消息系統(publish-subscribe messaging system),所以Kafka對於一些Use Case(有大數據量和高響應需求)的支持遠好於JMS、RabbitMQ和AMQP。相比於那些工具,Kafka支持更高的吞吐量,更高的穩定性和副本(replication)特性。這使得它比傳統的MOM更加適合跟蹤服務調用(可以跟蹤每次調用)或跟蹤IoT傳感器數據。

Kafka可以與Flume/Flafka、Spark Streaming、Storm、HBase、Flink以及Spark配合使用,用於實時獲取、分析和處理流數據。Kafka可以為Hadoop大數據湖(Hadoop BigData lake)提供數據流。Kafka Broker支持在Hadoop或Spark中低延時地處理和分析海量信息流。此外,Kafka子項目KafkaStreaming可用於實時分析。

什麼是Kafka Use Case?

簡而言之,Kafka用於流處理、網站活動跟蹤、度量收集和監視、日誌聚合、實時分析、CEP、將數據注入Spark和Hadoop、CQRS、重放消息、錯誤恢復以及分佈式提交內存計算(微服務)的日誌。

誰在使用Kafka?

許多需要快速處理大量數據的大公司都在使用Kafka。Kafka最初是由LinkedIn開發,用它來跟蹤活動數據和運營指標。Twitter把它作為Storm的一部分來作為流處理的基礎。Square把Kafka當作總線,將所有系統事件(日誌,自定義事件,指標等)傳輸到各個Square數據中心,或者輸出到Splunk,或者應用於Graphite(儀表板),或者實現Esper-like/ CEP警報系統。Spotify,Uber,Tumbler,Goldman Sachs,PayPal,Box,Cisco,CloudFlare和Netflix等公司也都在使用它。

為什麼Kafka這麼流行

首先最主要的原因是Kafka具有極佳的性能表現。它非常穩定,能提供穩定的持久化,具有靈活的訂閱-發佈消息隊列,可與N個消費者群組進行良好擴展,具有強大的複製功能,為生產者提供可調整的一致性保證,並在碎片級別提供保留排序(即Kafka主題分區)。

其次,Kafka可以很好地兼容需要數據流處理的系統,並將這些系統融合、轉換並加載到其他存儲。另外,Kafka操作(配置和使用)都非常簡單,而且Kafka的工作原理也很好理解。當然了,如果Kafka處理數據很慢,有再多其他優點都是沒有意義的,所以,“多快好省”就是Kafka的最大優勢。

為什麼Kafka這麼快

Kafka基於zero copy原則,深度依靠操作系統內核實現快速移動數據。Kafka能將數據記錄分批處理。這些批次數據可以通過端到端的方式從生產者到文件系統(Kafka主題日誌)再到消費者。批處理能實現更高效的數據壓縮並減少I / O延遲。Kafka將不可變的提交日誌寫入連續磁盤,從而避免了隨機磁盤訪問和磁盤尋道速度慢的問題。Kafka支持增加分區進行橫向擴展。它將主題日誌分成幾百個(可能有數千個)分區分佈到數千個服務器。這種方式可以讓Kafka承載海量負載。

Kafka Streaming

Kafka最常用於將數據實時傳輸到其他系統。Kafka作為一箇中間層來解耦不同的實時數據管道。Kafka核心並不適合入數據聚合(Data Aggregation)或CEP等的直接計算。Kafka Streaming作為Kafka生態系統的一部分,提供了進行實時分析的能力。Kafka可以為 Storm、Flink、Spark Streaming以及你的服務和CEP系統提供快速通道系統(實時操作數據系統)。

Kafka也用於流數據批量數據分析。它將數據傳輸到大數據平臺或RDBMS、Cassandra、Spark甚至S3中用於未來的數據分析。這些數據存儲通常支持數據分析,報告,數據科學分析,合規性審計和備份。說了那麼多,讓我們來討論一個終極命題:

到底什麼是Kafka?

Kafka是一個分佈式流平臺,用於發佈和訂閱記錄流。Kafka可以用於容錯存儲。Kafka將主題日誌分區複製到多個服務器。Kafka的設計目的是為了讓你的應用能在記錄生成後立即就能處理。Kafka的處理速度很快,通過批處理和壓縮記錄有效地使用IO。Kafka會對數據流進行解耦。Kafka用於將數據流到數據湖、應用和實時流分析系統中。

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


Kafka支持多語言

客戶端和服務器之間的Kafka通信使用基於TCP的線路協議,該協議是版本化和文檔化的。Kafka承諾保持對老客戶端的向後兼容性,並支持多種語言,包括C#,Java,C,Python,Ruby等多種語言。Kafka生態系統還提供REST代理,可通過HTTP和JSON輕鬆集成。Kafka還通過Kafka的融合模式註冊(ConfluentSchema Registry)支持Avro模式。Avro和模式註冊允許客戶以多種編程語言製作和讀取複雜的記錄,並允許記錄的變化。

Kafka的用途

Kafka支持構建實時流數據管道。Kafka支持內存微服務(比如actors,Akka,Baratine.io,QBit,reactors,reactive,,Vert.x,RxJava,Spring Reactor)。Kafka支持構建實時流應用程序,進行實時數據分析,轉換,響應,聚合、加入實時數據流以及執行CEP。

Kafka可以用來協助收集度量標準或KPI,從多個來源收集統計信息並實現eventsourcing(將應用狀態的所有更改捕獲為事件序列)。可以將它與內存微服務和actor系統一起使用,以實現內中服務(分佈式系統的外部提交日誌)。

Kafka可以用來在節點之間複製數據,為節點重新同步以及恢復狀態。雖然Kafka主要用於實時數據分析和流處理,但也可以將其用於日誌聚合,消息傳遞,跟蹤點擊流,審計跟蹤等等。

Kafka可擴展的消息存儲

Kafka是一個很好的記錄或信息存儲系統。Kafka就像一個提交日誌存儲和複製的高速文件系統。這些特點使Kafka適用於各種應用場合。寫入Kafka主題的記錄會持久保存到磁盤並複製到其他服務器以實現容錯。由於現在磁盤速度快而且相當大,所以這種方式非常有用。Kafka生產者可以等待確認,所以消息是持久的,因為生產者在複製完成之前不會完成寫入操作。Kafka磁盤結構可以很好地擴展。磁盤在大批量流式傳輸時具有非常高的吞吐量。

此外,Kafka客戶端和消費者可以控制讀取位置(偏移量),這允許在出現重要錯誤(即修復錯誤和重放)時重播日誌等用例。而且,由於偏移量是按照每個消費者群體進行跟蹤的,所以消費者可以非常靈活地重播日誌。

Kafka的記錄保留

Kafka集群保留所有公佈的記錄。如果沒有設置限制,它將保留所有記錄直到磁盤空間不足。可以設置基於時間的限制(可配置的保留期限),也可以基於空間的限制(可根據存儲空間進行配置)或精簡(保留最新版本的記錄)。除非被時間,空間或精簡等策略刪除,主題日誌中的記錄一直處於可用狀態。由於Kafka總是在主題日誌的末尾寫入,所以它的消費速度不會受到大小的影響。

如何快速學習Kafka?

《Kafka核心技術與實戰》專欄作為一次全新的交付,胡夕(現任人人貸公司計算平臺部總監,也是 Apache Kafka 的一名活躍代碼貢獻者)用更輕鬆更容易理解的語言和形式,幫你獲取到最新的 Kafka 實戰經驗。

大數據開發高薪必備全套資源【免費獲取】

Oracle高級技術總監多年精心創作一套完整課程體系【大數據、人工智能開發必看】,全面助力大數據開發零基礎+入門+提升+項目=高薪


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據零基礎入門」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據架構系統組件」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據全套系統工具安裝包」

Java必備工具

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


大數據必備工具

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據行業必備知資訊」

"


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?



大數據時代來臨,如果你還不知道Kafka那你就真的out了(快速掌握Kafka請參考文章:如何全方位掌握Kafka核心技術)!據統計,有三分之一的世界財富500強企業正在使用Kafka,包括所有TOP10旅遊公司,7家TOP10銀行,8家TOP10保險公司,9家TOP10電信公司等等。

LinkedIn、Microsoft和Netflix每天都用Kafka處理萬億級的信息。Kafka主要應用於實時信息流的大數據收集或者實時分析(或者兩者兼有)。Kafka既可以為內存微服務提供持久性服務,也可以用於向複雜事件流系統和IoT/IFTTT式自動化系統反饋事件。

為什麼是Kafka?

Kafka常用於實時流數據結構的實時分析。由於Kafka是一種快速、可擴展、可持久和高容錯的發佈-訂閱消息系統(publish-subscribe messaging system),所以Kafka對於一些Use Case(有大數據量和高響應需求)的支持遠好於JMS、RabbitMQ和AMQP。相比於那些工具,Kafka支持更高的吞吐量,更高的穩定性和副本(replication)特性。這使得它比傳統的MOM更加適合跟蹤服務調用(可以跟蹤每次調用)或跟蹤IoT傳感器數據。

Kafka可以與Flume/Flafka、Spark Streaming、Storm、HBase、Flink以及Spark配合使用,用於實時獲取、分析和處理流數據。Kafka可以為Hadoop大數據湖(Hadoop BigData lake)提供數據流。Kafka Broker支持在Hadoop或Spark中低延時地處理和分析海量信息流。此外,Kafka子項目KafkaStreaming可用於實時分析。

什麼是Kafka Use Case?

簡而言之,Kafka用於流處理、網站活動跟蹤、度量收集和監視、日誌聚合、實時分析、CEP、將數據注入Spark和Hadoop、CQRS、重放消息、錯誤恢復以及分佈式提交內存計算(微服務)的日誌。

誰在使用Kafka?

許多需要快速處理大量數據的大公司都在使用Kafka。Kafka最初是由LinkedIn開發,用它來跟蹤活動數據和運營指標。Twitter把它作為Storm的一部分來作為流處理的基礎。Square把Kafka當作總線,將所有系統事件(日誌,自定義事件,指標等)傳輸到各個Square數據中心,或者輸出到Splunk,或者應用於Graphite(儀表板),或者實現Esper-like/ CEP警報系統。Spotify,Uber,Tumbler,Goldman Sachs,PayPal,Box,Cisco,CloudFlare和Netflix等公司也都在使用它。

為什麼Kafka這麼流行

首先最主要的原因是Kafka具有極佳的性能表現。它非常穩定,能提供穩定的持久化,具有靈活的訂閱-發佈消息隊列,可與N個消費者群組進行良好擴展,具有強大的複製功能,為生產者提供可調整的一致性保證,並在碎片級別提供保留排序(即Kafka主題分區)。

其次,Kafka可以很好地兼容需要數據流處理的系統,並將這些系統融合、轉換並加載到其他存儲。另外,Kafka操作(配置和使用)都非常簡單,而且Kafka的工作原理也很好理解。當然了,如果Kafka處理數據很慢,有再多其他優點都是沒有意義的,所以,“多快好省”就是Kafka的最大優勢。

為什麼Kafka這麼快

Kafka基於zero copy原則,深度依靠操作系統內核實現快速移動數據。Kafka能將數據記錄分批處理。這些批次數據可以通過端到端的方式從生產者到文件系統(Kafka主題日誌)再到消費者。批處理能實現更高效的數據壓縮並減少I / O延遲。Kafka將不可變的提交日誌寫入連續磁盤,從而避免了隨機磁盤訪問和磁盤尋道速度慢的問題。Kafka支持增加分區進行橫向擴展。它將主題日誌分成幾百個(可能有數千個)分區分佈到數千個服務器。這種方式可以讓Kafka承載海量負載。

Kafka Streaming

Kafka最常用於將數據實時傳輸到其他系統。Kafka作為一箇中間層來解耦不同的實時數據管道。Kafka核心並不適合入數據聚合(Data Aggregation)或CEP等的直接計算。Kafka Streaming作為Kafka生態系統的一部分,提供了進行實時分析的能力。Kafka可以為 Storm、Flink、Spark Streaming以及你的服務和CEP系統提供快速通道系統(實時操作數據系統)。

Kafka也用於流數據批量數據分析。它將數據傳輸到大數據平臺或RDBMS、Cassandra、Spark甚至S3中用於未來的數據分析。這些數據存儲通常支持數據分析,報告,數據科學分析,合規性審計和備份。說了那麼多,讓我們來討論一個終極命題:

到底什麼是Kafka?

Kafka是一個分佈式流平臺,用於發佈和訂閱記錄流。Kafka可以用於容錯存儲。Kafka將主題日誌分區複製到多個服務器。Kafka的設計目的是為了讓你的應用能在記錄生成後立即就能處理。Kafka的處理速度很快,通過批處理和壓縮記錄有效地使用IO。Kafka會對數據流進行解耦。Kafka用於將數據流到數據湖、應用和實時流分析系統中。

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


Kafka支持多語言

客戶端和服務器之間的Kafka通信使用基於TCP的線路協議,該協議是版本化和文檔化的。Kafka承諾保持對老客戶端的向後兼容性,並支持多種語言,包括C#,Java,C,Python,Ruby等多種語言。Kafka生態系統還提供REST代理,可通過HTTP和JSON輕鬆集成。Kafka還通過Kafka的融合模式註冊(ConfluentSchema Registry)支持Avro模式。Avro和模式註冊允許客戶以多種編程語言製作和讀取複雜的記錄,並允許記錄的變化。

Kafka的用途

Kafka支持構建實時流數據管道。Kafka支持內存微服務(比如actors,Akka,Baratine.io,QBit,reactors,reactive,,Vert.x,RxJava,Spring Reactor)。Kafka支持構建實時流應用程序,進行實時數據分析,轉換,響應,聚合、加入實時數據流以及執行CEP。

Kafka可以用來協助收集度量標準或KPI,從多個來源收集統計信息並實現eventsourcing(將應用狀態的所有更改捕獲為事件序列)。可以將它與內存微服務和actor系統一起使用,以實現內中服務(分佈式系統的外部提交日誌)。

Kafka可以用來在節點之間複製數據,為節點重新同步以及恢復狀態。雖然Kafka主要用於實時數據分析和流處理,但也可以將其用於日誌聚合,消息傳遞,跟蹤點擊流,審計跟蹤等等。

Kafka可擴展的消息存儲

Kafka是一個很好的記錄或信息存儲系統。Kafka就像一個提交日誌存儲和複製的高速文件系統。這些特點使Kafka適用於各種應用場合。寫入Kafka主題的記錄會持久保存到磁盤並複製到其他服務器以實現容錯。由於現在磁盤速度快而且相當大,所以這種方式非常有用。Kafka生產者可以等待確認,所以消息是持久的,因為生產者在複製完成之前不會完成寫入操作。Kafka磁盤結構可以很好地擴展。磁盤在大批量流式傳輸時具有非常高的吞吐量。

此外,Kafka客戶端和消費者可以控制讀取位置(偏移量),這允許在出現重要錯誤(即修復錯誤和重放)時重播日誌等用例。而且,由於偏移量是按照每個消費者群體進行跟蹤的,所以消費者可以非常靈活地重播日誌。

Kafka的記錄保留

Kafka集群保留所有公佈的記錄。如果沒有設置限制,它將保留所有記錄直到磁盤空間不足。可以設置基於時間的限制(可配置的保留期限),也可以基於空間的限制(可根據存儲空間進行配置)或精簡(保留最新版本的記錄)。除非被時間,空間或精簡等策略刪除,主題日誌中的記錄一直處於可用狀態。由於Kafka總是在主題日誌的末尾寫入,所以它的消費速度不會受到大小的影響。

如何快速學習Kafka?

《Kafka核心技術與實戰》專欄作為一次全新的交付,胡夕(現任人人貸公司計算平臺部總監,也是 Apache Kafka 的一名活躍代碼貢獻者)用更輕鬆更容易理解的語言和形式,幫你獲取到最新的 Kafka 實戰經驗。

大數據開發高薪必備全套資源【免費獲取】

Oracle高級技術總監多年精心創作一套完整課程體系【大數據、人工智能開發必看】,全面助力大數據開發零基礎+入門+提升+項目=高薪


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據零基礎入門」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據架構系統組件」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據全套系統工具安裝包」

Java必備工具

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


大數據必備工具

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據行業必備知資訊」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據精品實戰案例」

"


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?



大數據時代來臨,如果你還不知道Kafka那你就真的out了(快速掌握Kafka請參考文章:如何全方位掌握Kafka核心技術)!據統計,有三分之一的世界財富500強企業正在使用Kafka,包括所有TOP10旅遊公司,7家TOP10銀行,8家TOP10保險公司,9家TOP10電信公司等等。

LinkedIn、Microsoft和Netflix每天都用Kafka處理萬億級的信息。Kafka主要應用於實時信息流的大數據收集或者實時分析(或者兩者兼有)。Kafka既可以為內存微服務提供持久性服務,也可以用於向複雜事件流系統和IoT/IFTTT式自動化系統反饋事件。

為什麼是Kafka?

Kafka常用於實時流數據結構的實時分析。由於Kafka是一種快速、可擴展、可持久和高容錯的發佈-訂閱消息系統(publish-subscribe messaging system),所以Kafka對於一些Use Case(有大數據量和高響應需求)的支持遠好於JMS、RabbitMQ和AMQP。相比於那些工具,Kafka支持更高的吞吐量,更高的穩定性和副本(replication)特性。這使得它比傳統的MOM更加適合跟蹤服務調用(可以跟蹤每次調用)或跟蹤IoT傳感器數據。

Kafka可以與Flume/Flafka、Spark Streaming、Storm、HBase、Flink以及Spark配合使用,用於實時獲取、分析和處理流數據。Kafka可以為Hadoop大數據湖(Hadoop BigData lake)提供數據流。Kafka Broker支持在Hadoop或Spark中低延時地處理和分析海量信息流。此外,Kafka子項目KafkaStreaming可用於實時分析。

什麼是Kafka Use Case?

簡而言之,Kafka用於流處理、網站活動跟蹤、度量收集和監視、日誌聚合、實時分析、CEP、將數據注入Spark和Hadoop、CQRS、重放消息、錯誤恢復以及分佈式提交內存計算(微服務)的日誌。

誰在使用Kafka?

許多需要快速處理大量數據的大公司都在使用Kafka。Kafka最初是由LinkedIn開發,用它來跟蹤活動數據和運營指標。Twitter把它作為Storm的一部分來作為流處理的基礎。Square把Kafka當作總線,將所有系統事件(日誌,自定義事件,指標等)傳輸到各個Square數據中心,或者輸出到Splunk,或者應用於Graphite(儀表板),或者實現Esper-like/ CEP警報系統。Spotify,Uber,Tumbler,Goldman Sachs,PayPal,Box,Cisco,CloudFlare和Netflix等公司也都在使用它。

為什麼Kafka這麼流行

首先最主要的原因是Kafka具有極佳的性能表現。它非常穩定,能提供穩定的持久化,具有靈活的訂閱-發佈消息隊列,可與N個消費者群組進行良好擴展,具有強大的複製功能,為生產者提供可調整的一致性保證,並在碎片級別提供保留排序(即Kafka主題分區)。

其次,Kafka可以很好地兼容需要數據流處理的系統,並將這些系統融合、轉換並加載到其他存儲。另外,Kafka操作(配置和使用)都非常簡單,而且Kafka的工作原理也很好理解。當然了,如果Kafka處理數據很慢,有再多其他優點都是沒有意義的,所以,“多快好省”就是Kafka的最大優勢。

為什麼Kafka這麼快

Kafka基於zero copy原則,深度依靠操作系統內核實現快速移動數據。Kafka能將數據記錄分批處理。這些批次數據可以通過端到端的方式從生產者到文件系統(Kafka主題日誌)再到消費者。批處理能實現更高效的數據壓縮並減少I / O延遲。Kafka將不可變的提交日誌寫入連續磁盤,從而避免了隨機磁盤訪問和磁盤尋道速度慢的問題。Kafka支持增加分區進行橫向擴展。它將主題日誌分成幾百個(可能有數千個)分區分佈到數千個服務器。這種方式可以讓Kafka承載海量負載。

Kafka Streaming

Kafka最常用於將數據實時傳輸到其他系統。Kafka作為一箇中間層來解耦不同的實時數據管道。Kafka核心並不適合入數據聚合(Data Aggregation)或CEP等的直接計算。Kafka Streaming作為Kafka生態系統的一部分,提供了進行實時分析的能力。Kafka可以為 Storm、Flink、Spark Streaming以及你的服務和CEP系統提供快速通道系統(實時操作數據系統)。

Kafka也用於流數據批量數據分析。它將數據傳輸到大數據平臺或RDBMS、Cassandra、Spark甚至S3中用於未來的數據分析。這些數據存儲通常支持數據分析,報告,數據科學分析,合規性審計和備份。說了那麼多,讓我們來討論一個終極命題:

到底什麼是Kafka?

Kafka是一個分佈式流平臺,用於發佈和訂閱記錄流。Kafka可以用於容錯存儲。Kafka將主題日誌分區複製到多個服務器。Kafka的設計目的是為了讓你的應用能在記錄生成後立即就能處理。Kafka的處理速度很快,通過批處理和壓縮記錄有效地使用IO。Kafka會對數據流進行解耦。Kafka用於將數據流到數據湖、應用和實時流分析系統中。

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


Kafka支持多語言

客戶端和服務器之間的Kafka通信使用基於TCP的線路協議,該協議是版本化和文檔化的。Kafka承諾保持對老客戶端的向後兼容性,並支持多種語言,包括C#,Java,C,Python,Ruby等多種語言。Kafka生態系統還提供REST代理,可通過HTTP和JSON輕鬆集成。Kafka還通過Kafka的融合模式註冊(ConfluentSchema Registry)支持Avro模式。Avro和模式註冊允許客戶以多種編程語言製作和讀取複雜的記錄,並允許記錄的變化。

Kafka的用途

Kafka支持構建實時流數據管道。Kafka支持內存微服務(比如actors,Akka,Baratine.io,QBit,reactors,reactive,,Vert.x,RxJava,Spring Reactor)。Kafka支持構建實時流應用程序,進行實時數據分析,轉換,響應,聚合、加入實時數據流以及執行CEP。

Kafka可以用來協助收集度量標準或KPI,從多個來源收集統計信息並實現eventsourcing(將應用狀態的所有更改捕獲為事件序列)。可以將它與內存微服務和actor系統一起使用,以實現內中服務(分佈式系統的外部提交日誌)。

Kafka可以用來在節點之間複製數據,為節點重新同步以及恢復狀態。雖然Kafka主要用於實時數據分析和流處理,但也可以將其用於日誌聚合,消息傳遞,跟蹤點擊流,審計跟蹤等等。

Kafka可擴展的消息存儲

Kafka是一個很好的記錄或信息存儲系統。Kafka就像一個提交日誌存儲和複製的高速文件系統。這些特點使Kafka適用於各種應用場合。寫入Kafka主題的記錄會持久保存到磁盤並複製到其他服務器以實現容錯。由於現在磁盤速度快而且相當大,所以這種方式非常有用。Kafka生產者可以等待確認,所以消息是持久的,因為生產者在複製完成之前不會完成寫入操作。Kafka磁盤結構可以很好地擴展。磁盤在大批量流式傳輸時具有非常高的吞吐量。

此外,Kafka客戶端和消費者可以控制讀取位置(偏移量),這允許在出現重要錯誤(即修復錯誤和重放)時重播日誌等用例。而且,由於偏移量是按照每個消費者群體進行跟蹤的,所以消費者可以非常靈活地重播日誌。

Kafka的記錄保留

Kafka集群保留所有公佈的記錄。如果沒有設置限制,它將保留所有記錄直到磁盤空間不足。可以設置基於時間的限制(可配置的保留期限),也可以基於空間的限制(可根據存儲空間進行配置)或精簡(保留最新版本的記錄)。除非被時間,空間或精簡等策略刪除,主題日誌中的記錄一直處於可用狀態。由於Kafka總是在主題日誌的末尾寫入,所以它的消費速度不會受到大小的影響。

如何快速學習Kafka?

《Kafka核心技術與實戰》專欄作為一次全新的交付,胡夕(現任人人貸公司計算平臺部總監,也是 Apache Kafka 的一名活躍代碼貢獻者)用更輕鬆更容易理解的語言和形式,幫你獲取到最新的 Kafka 實戰經驗。

大數據開發高薪必備全套資源【免費獲取】

Oracle高級技術總監多年精心創作一套完整課程體系【大數據、人工智能開發必看】,全面助力大數據開發零基礎+入門+提升+項目=高薪


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據零基礎入門」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據架構系統組件」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據全套系統工具安裝包」

Java必備工具

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


大數據必備工具

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據行業必備知資訊」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據精品實戰案例」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據就業指導方案」

"


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?



大數據時代來臨,如果你還不知道Kafka那你就真的out了(快速掌握Kafka請參考文章:如何全方位掌握Kafka核心技術)!據統計,有三分之一的世界財富500強企業正在使用Kafka,包括所有TOP10旅遊公司,7家TOP10銀行,8家TOP10保險公司,9家TOP10電信公司等等。

LinkedIn、Microsoft和Netflix每天都用Kafka處理萬億級的信息。Kafka主要應用於實時信息流的大數據收集或者實時分析(或者兩者兼有)。Kafka既可以為內存微服務提供持久性服務,也可以用於向複雜事件流系統和IoT/IFTTT式自動化系統反饋事件。

為什麼是Kafka?

Kafka常用於實時流數據結構的實時分析。由於Kafka是一種快速、可擴展、可持久和高容錯的發佈-訂閱消息系統(publish-subscribe messaging system),所以Kafka對於一些Use Case(有大數據量和高響應需求)的支持遠好於JMS、RabbitMQ和AMQP。相比於那些工具,Kafka支持更高的吞吐量,更高的穩定性和副本(replication)特性。這使得它比傳統的MOM更加適合跟蹤服務調用(可以跟蹤每次調用)或跟蹤IoT傳感器數據。

Kafka可以與Flume/Flafka、Spark Streaming、Storm、HBase、Flink以及Spark配合使用,用於實時獲取、分析和處理流數據。Kafka可以為Hadoop大數據湖(Hadoop BigData lake)提供數據流。Kafka Broker支持在Hadoop或Spark中低延時地處理和分析海量信息流。此外,Kafka子項目KafkaStreaming可用於實時分析。

什麼是Kafka Use Case?

簡而言之,Kafka用於流處理、網站活動跟蹤、度量收集和監視、日誌聚合、實時分析、CEP、將數據注入Spark和Hadoop、CQRS、重放消息、錯誤恢復以及分佈式提交內存計算(微服務)的日誌。

誰在使用Kafka?

許多需要快速處理大量數據的大公司都在使用Kafka。Kafka最初是由LinkedIn開發,用它來跟蹤活動數據和運營指標。Twitter把它作為Storm的一部分來作為流處理的基礎。Square把Kafka當作總線,將所有系統事件(日誌,自定義事件,指標等)傳輸到各個Square數據中心,或者輸出到Splunk,或者應用於Graphite(儀表板),或者實現Esper-like/ CEP警報系統。Spotify,Uber,Tumbler,Goldman Sachs,PayPal,Box,Cisco,CloudFlare和Netflix等公司也都在使用它。

為什麼Kafka這麼流行

首先最主要的原因是Kafka具有極佳的性能表現。它非常穩定,能提供穩定的持久化,具有靈活的訂閱-發佈消息隊列,可與N個消費者群組進行良好擴展,具有強大的複製功能,為生產者提供可調整的一致性保證,並在碎片級別提供保留排序(即Kafka主題分區)。

其次,Kafka可以很好地兼容需要數據流處理的系統,並將這些系統融合、轉換並加載到其他存儲。另外,Kafka操作(配置和使用)都非常簡單,而且Kafka的工作原理也很好理解。當然了,如果Kafka處理數據很慢,有再多其他優點都是沒有意義的,所以,“多快好省”就是Kafka的最大優勢。

為什麼Kafka這麼快

Kafka基於zero copy原則,深度依靠操作系統內核實現快速移動數據。Kafka能將數據記錄分批處理。這些批次數據可以通過端到端的方式從生產者到文件系統(Kafka主題日誌)再到消費者。批處理能實現更高效的數據壓縮並減少I / O延遲。Kafka將不可變的提交日誌寫入連續磁盤,從而避免了隨機磁盤訪問和磁盤尋道速度慢的問題。Kafka支持增加分區進行橫向擴展。它將主題日誌分成幾百個(可能有數千個)分區分佈到數千個服務器。這種方式可以讓Kafka承載海量負載。

Kafka Streaming

Kafka最常用於將數據實時傳輸到其他系統。Kafka作為一箇中間層來解耦不同的實時數據管道。Kafka核心並不適合入數據聚合(Data Aggregation)或CEP等的直接計算。Kafka Streaming作為Kafka生態系統的一部分,提供了進行實時分析的能力。Kafka可以為 Storm、Flink、Spark Streaming以及你的服務和CEP系統提供快速通道系統(實時操作數據系統)。

Kafka也用於流數據批量數據分析。它將數據傳輸到大數據平臺或RDBMS、Cassandra、Spark甚至S3中用於未來的數據分析。這些數據存儲通常支持數據分析,報告,數據科學分析,合規性審計和備份。說了那麼多,讓我們來討論一個終極命題:

到底什麼是Kafka?

Kafka是一個分佈式流平臺,用於發佈和訂閱記錄流。Kafka可以用於容錯存儲。Kafka將主題日誌分區複製到多個服務器。Kafka的設計目的是為了讓你的應用能在記錄生成後立即就能處理。Kafka的處理速度很快,通過批處理和壓縮記錄有效地使用IO。Kafka會對數據流進行解耦。Kafka用於將數據流到數據湖、應用和實時流分析系統中。

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


Kafka支持多語言

客戶端和服務器之間的Kafka通信使用基於TCP的線路協議,該協議是版本化和文檔化的。Kafka承諾保持對老客戶端的向後兼容性,並支持多種語言,包括C#,Java,C,Python,Ruby等多種語言。Kafka生態系統還提供REST代理,可通過HTTP和JSON輕鬆集成。Kafka還通過Kafka的融合模式註冊(ConfluentSchema Registry)支持Avro模式。Avro和模式註冊允許客戶以多種編程語言製作和讀取複雜的記錄,並允許記錄的變化。

Kafka的用途

Kafka支持構建實時流數據管道。Kafka支持內存微服務(比如actors,Akka,Baratine.io,QBit,reactors,reactive,,Vert.x,RxJava,Spring Reactor)。Kafka支持構建實時流應用程序,進行實時數據分析,轉換,響應,聚合、加入實時數據流以及執行CEP。

Kafka可以用來協助收集度量標準或KPI,從多個來源收集統計信息並實現eventsourcing(將應用狀態的所有更改捕獲為事件序列)。可以將它與內存微服務和actor系統一起使用,以實現內中服務(分佈式系統的外部提交日誌)。

Kafka可以用來在節點之間複製數據,為節點重新同步以及恢復狀態。雖然Kafka主要用於實時數據分析和流處理,但也可以將其用於日誌聚合,消息傳遞,跟蹤點擊流,審計跟蹤等等。

Kafka可擴展的消息存儲

Kafka是一個很好的記錄或信息存儲系統。Kafka就像一個提交日誌存儲和複製的高速文件系統。這些特點使Kafka適用於各種應用場合。寫入Kafka主題的記錄會持久保存到磁盤並複製到其他服務器以實現容錯。由於現在磁盤速度快而且相當大,所以這種方式非常有用。Kafka生產者可以等待確認,所以消息是持久的,因為生產者在複製完成之前不會完成寫入操作。Kafka磁盤結構可以很好地擴展。磁盤在大批量流式傳輸時具有非常高的吞吐量。

此外,Kafka客戶端和消費者可以控制讀取位置(偏移量),這允許在出現重要錯誤(即修復錯誤和重放)時重播日誌等用例。而且,由於偏移量是按照每個消費者群體進行跟蹤的,所以消費者可以非常靈活地重播日誌。

Kafka的記錄保留

Kafka集群保留所有公佈的記錄。如果沒有設置限制,它將保留所有記錄直到磁盤空間不足。可以設置基於時間的限制(可配置的保留期限),也可以基於空間的限制(可根據存儲空間進行配置)或精簡(保留最新版本的記錄)。除非被時間,空間或精簡等策略刪除,主題日誌中的記錄一直處於可用狀態。由於Kafka總是在主題日誌的末尾寫入,所以它的消費速度不會受到大小的影響。

如何快速學習Kafka?

《Kafka核心技術與實戰》專欄作為一次全新的交付,胡夕(現任人人貸公司計算平臺部總監,也是 Apache Kafka 的一名活躍代碼貢獻者)用更輕鬆更容易理解的語言和形式,幫你獲取到最新的 Kafka 實戰經驗。

大數據開發高薪必備全套資源【免費獲取】

Oracle高級技術總監多年精心創作一套完整課程體系【大數據、人工智能開發必看】,全面助力大數據開發零基礎+入門+提升+項目=高薪


詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據零基礎入門」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據架構系統組件」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據全套系統工具安裝包」

Java必備工具

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


大數據必備工具

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據行業必備知資訊」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據精品實戰案例」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?


「大數據就業指導方案」

詳解Kafka: 大數據開發最牛的核心技術!你看了嗎?

最後說一下的,也就是以上教程的獲取方式!

領取方法:

還是那個萬年不變的老規矩

1.評論文章,沒字數限制,一個字都行!

2.成為小編成為的粉絲!

3.私信小編:“大數據開發教程”即可!

謝謝大家,祝大家學習愉快!(拿到教程後一定要好好學習,多練習哦!)


"

相關推薦

推薦中...