kafka的基础原理、
时间: 2023-10-08 16:13:59 浏览: 88
Kafka是一个分布式的消息系统,它的基础原理可以概括为:
1. 消息存储
Kafka将消息以topic为单位进行存储,每个topic可以分为多个partition,每个partition又可以分为多个segment,每个segment又由多个message组成。每个partition的消息被按照offset顺序存储,新消息会被追加到尾部。
2. 消息发布
消息发布者称为producer,它们将消息发布到指定的topic中。producer可以选择将消息发布到指定partition中或者由Kafka自动选择。在消息发布时,producer可以指定消息的key,用于将消息路由到指定的partition。
3. 消息订阅
消息订阅者称为consumer,它们从指定的topic中订阅消息。每个consumer都有一个唯一的group id,同一group id下的consumer共同消费一个partition中的消息,每个consumer只能消费属于它负责的partition中的消息。
4. 消息传递
Kafka使用pull模式将消息传递给consumer,即consumer从broker中主动拉取消息。Kafka支持多个consumer并发消费同一topic的消息,每个consumer消费的消息是互不干扰的。
5. 消息保障
Kafka支持多种消息保障机制,包括最多一次、最少一次和恰好一次。在最多一次和最少一次模式中,producer可以选择是否等待broker的确认消息。在恰好一次模式中,Kafka使用了两阶段提交协议保障消息的一致性。
以上就是Kafka的基础原理。
阅读全文