kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),有如下特性:
1. 通過O(1)的磁盤數(shù)據(jù)結(jié)構(gòu)提供消息的持久化,這種結(jié)構(gòu)對于即使數(shù)以TB的消息存儲也能夠保持長時間的穩(wěn)定性能。
2 .高吞吐量:即使是非常普通的硬件kafka也可以支持每秒數(shù)十萬的消息。
3 .支持通過kafka服務器和消費機集群來分區(qū)消息。
4 .支持Hadoop并行數(shù)據(jù)加載。
本篇屬于大數(shù)據(jù)技術-> kafka 系列的開篇,本文從以下幾個基礎層面概述Kafka的知識點,后續(xù)在針對于單個的技術點擴展每篇博文。
Kafka背景介紹
Kafka基本架構(gòu)組件
Kafka設計原理
Kafka用途
一:Kafka背景介紹
Kafka是一種高吞吐量的,分布式,快速、可擴展的,分區(qū)和可復制,基于發(fā)布/訂閱模式的消息系統(tǒng),由Linkedin開發(fā),之后成為Apache項目的一部分。使用Scala語言編寫,目前已被廣泛應用于各行業(yè)各類型的數(shù)據(jù)管道和消息系統(tǒng)中。
kafka的設計目的是提供一個發(fā)布訂閱解決方案,它可以處理消費者規(guī)模的網(wǎng)站中的所有動作流數(shù)據(jù)。 這種動作(網(wǎng)頁瀏覽,搜索和其他用戶的行動)是在現(xiàn)代網(wǎng)絡上的許多社會功能的一個關鍵因素。 這些數(shù)據(jù)通常是由于吞吐量的要求而通過處理日志和日志聚合來解決。