kafka基本概念
- 通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。
- 支持通过Kafka服务器和消费机集群来分区消息。
- 支持Hadoop并行数据加载。[3]
kafka基本概念:
-
Broker
-
Topic每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)
-
PartitionPartition是物理上的概念,每个Topic包含一个或多个Partition.
-
Producer负责发布消息到Kafka broker
-
Consumer消息消费者,向Kafka broker读取消息的客户端。
-
Consumer Group每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)。
消费模式:
1 分区消费模式 vs 组消费模式
分区的日志被分发到集群内的服务器上,每台服务器负责处理一些分区和对这些分区的读写请求。
为满足容错需求,各分区的数据都按一个可配置的量被复制到集群的其他服务器上
每个分区都有一个领导服务器和0到多个追随者服务器。领导服务器负责对这个分区的所有读写操作
而追随服务器则被动的复制领导服务器。
如果领导服务器宕机,其中一台追随者服务器会被自动选举为新领导。一个分区的领导服务器可能是
了另外几个分区的追随者服务器,所以总体上集群负载是均衡的