大數據開發最火的核心技術-Kafka

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

大數據時代來臨,很多人學習大數據,據統計,有三分之一的世界財富500強企業正在使用Kafka,包括所有TOP10旅遊公司,7家TOP10銀行,8家TOP10保險公司,9家TOP10電信公司等等。

大數據開發最火的核心技術-Kafka

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

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可用於實時分析。

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的最大優勢。

a這麼快

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

fka Streaming

Kafka最常用於將數據實時傳輸到其他系統。Kafka作為一個中間層來解耦不同的實時數據管道。Kafka核心並不適合入數據聚合(data aggregation)或CEP等的直接計算。Kafka Streaming作為Kafka生態系統的一部分,提供了進行實時分析的能力。Kafka可以為Storm,Flink,Spark Streaming以及你的服務和CEP系統提供快速通道系統(實時操作數據系統)。Kafka也用於流數據批量數據分析。它將數據傳輸到大數據平台或RDBMS,Cassandra,Spark甚至S3中用於未來的數據分析。這些數據存儲通常支持數據分析,報告,數據科學分析,合規性審計和備份。

About 尋夢園
尋夢園是台灣最大的聊天室及交友社群網站。 致力於發展能夠讓會員們彼此互動、盡情分享自我的平台。 擁有數百間不同的聊天室 ,讓您隨時隨地都能找到志同道合的好友!