文章目录
Kafka架构详解
Kafka架构图
Zookeeper在Kafka的作用
- 无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性集群保存一些meta信息。
- Kafka使用zookeeper作为其分布式协调框架,很好的将消息生产,消息存储,消息消费的过程结合在一起。
- 同时借助zookeeper,kafka能够将生产者,消费者和broker在内的所有组件在无状态的情况下,建立起生产者和消费者的订阅关系,并实现生产者和消费者的负载均衡。
zookeeper在Kafka中保存的meta信息
- admin目录下保存着标记删除的topic信息;
Kafka文件存储机制
Kafka中消息是以topic进行分类的,生产者通过topic向Kafka broker发送消息,消费者通过topic读取数据,然而topic在物理层面又能以partiton为分组,一个topic可以分为若干个partition,partition还可以细分为segment,一个partition物理上由多个segment组成。
在Kafka文件存储中,同一个topic下有多个不同的partition,每个partiton为一个目录,partition的名称规则为:topic名称+有序序号,第一个序号从0开始计,最大的序号为partition数量减1,partition是实际物理上的概念,而topic是逻辑上的概念。
上面提到partition还可以细分为segment,这个segment又是什么?如果就以partition为最小存储单位,我们可以想象当Kafka producer不断发送消息