Kafka 架構簡介

 

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

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

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

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

·種多Client支持: Kafka很容易與其它平臺進行支持,例如:Java、.NET、PHP、Ruby、Python。

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

下面就來對Kafka架構做一個簡單的說明: