Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。
消息队列技术是分布式应用间交换信息的一种技术。
Kafka的基本概念
Topic:是特定类型的消息流。消息是字节的有效负载(Payload),话题是消息的分类名或种子(Feed)名。
Partition:Partition 是物理上的概念,每个 Topic 包含一个或多个 Partition。
Producer:是能够发布消息到话题的任何对象。
Broker:Kafka 集群包含一个或多个服务器,这种服务器被称为 broker,已发布的消息保存在一组服务器中。
Consumer:可以订阅一个或多个话题,并从Broker拉数据,从而消费这些已发布的消息。
Consumer Group:每个 Consumer 属于一个特定的 Consumer Group(可为每个 Consumer 指定 group name,若不指定 group name 则属于默认的 group)。