目录:
Kafka 概念
kafka 可以脱离 zookeeper 单独使用吗?为什么?
kafka 有两种数据保留的策略
kafka 同时设置了 7 天和 10G 清除数据,到第五天的时候消息达到了 10G,这个时候 kafka 将如何处理?
什么情况会导致 kafka 运行变慢?
使用 kafka 集群需要注意什么?
Kafka 数据存储设计
生产者设计
消费者设计
Consumer Group
1、Kafka 概念
Kafka 是一种高吞吐量、分布式、基于发布/订阅的消息系统,最初由 LinkedIn 公司开发,使用Scala 语言编写,目前是 Apache 的开源项目。
broker:Kafka 服务器,负责消息存储和转发
topic:消息类别,Kafka 按照 topic 来分类消息
partition:topic 的分区,一个 topic 可以包含多个 partition,topic 消息保存在各个partition 上
offset:消息在日志中的位置,可以理解是消息在 partition 上的偏移量,也是代表该消息的唯一序号
Producer:消息生产者
Consumer:消息消费者
Consumer Group:消费者分组,每个 Consumer 必须属于一个 group
Zookeeper:保存着集群 broker、topic、partition 等 meta 数据;另外,还负责 broker 故障发现,partition leader 选举,负载均衡等功能