Kafka 架构简介

 

Kafka是一个开源的、分布式的、可分区的、可复制的基于日志提交的发布订阅消息系统。它具备以下特点:

·消息持久化: 为了从大数据中获取有价值的信息,任何信息的丢失都是负担不起的。Kafka使用了O(1)的磁盘结构设计,这样做即便是在要存储大体积的数据时也是可以提供稳定的性能。使用Kafka时,message会被存储并且会被复制以防止数据丢失。

·高吞吐量: 设计是工作在普通的硬件设施上多个客户端能够每秒处理几百兆的数据量。

·分布式: Kafka Broker的中心化集群支持消息分区,而consumer采用分布式进行消费。

·种多Client支持: Kafka很容易与其它平台进行支持,例如:Java、.NET、PHP、Ruby、Python。

·实时: 消息由producer产生后立即对consumer可见。这个特性对于基于事件的系统是很关键的。

下面就来对Kafka架构做一个简单的说明: