Kafka 架構(gòu)簡(jiǎn)介

 

Kafka是一個(gè)開源的、分布式的、可分區(qū)的、可復(fù)制的基于日志提交的發(fā)布訂閱消息系統(tǒng)。它具備以下特點(diǎn):

·消息持久化: 為了從大數(shù)據(jù)中獲取有價(jià)值的信息,任何信息的丟失都是負(fù)擔(dān)不起的。Kafka使用了O(1)的磁盤結(jié)構(gòu)設(shè)計(jì),這樣做即便是在要存儲(chǔ)大體積的數(shù)據(jù)時(shí)也是可以提供穩(wěn)定的性能。使用Kafka時(shí),message會(huì)被存儲(chǔ)并且會(huì)被復(fù)制以防止數(shù)據(jù)丟失。

·高吞吐量: 設(shè)計(jì)是工作在普通的硬件設(shè)施上多個(gè)客戶端能夠每秒處理幾百兆的數(shù)據(jù)量。

·分布式: Kafka Broker的中心化集群支持消息分區(qū),而consumer采用分布式進(jìn)行消費(fèi)。

·種多Client支持: Kafka很容易與其它平臺(tái)進(jìn)行支持,例如:Java、.NET、PHP、Ruby、Python。

·實(shí)時(shí): 消息由producer產(chǎn)生后立即對(duì)consumer可見。這個(gè)特性對(duì)于基于事件的系統(tǒng)是很關(guān)鍵的。

下面就來對(duì)Kafka架構(gòu)做一個(gè)簡(jiǎn)單的說明: