Kafka是一个设计独特的消息系统。相比于一般的消息队列,Kafka提供了一些独特的特性,非常高的吞吐能力,以及强大的扩展性。
Kafka的基本术语以及概念
·Broker:任何正在运行中的Kafka示例都成为Broker。
·Topic:Topic其实就是一个传统意义的消息队列。
·Partition:即分区。一个Topic将有多个分区组成,每个分区将存在独立的持久化文件,任何一个Consumer在分区上的消费一定是顺序的;当一个Consumer同时在多个分区上消费时,Kafka不能保证总体上的强顺序性。
·Producer:消息的生产者。
·Consumer:消息的消费者。
·Consumer Group:即消费组。一个消费组是有一个或者多个Consumer组成的,对于一个Topic,不同的消费组都将能消费到全量的消息。而同一个消费组中的Consumer将竞争每个消息。
在Kafka中,消息将被生产者“推”(push)到Kafka中,Consumer会不停的轮询从Kafka中“拉”(pull)数据。