1、Kafka主要设计理念
Kafka之所以和其它绝大多数信息系统不同,是因为下面这几个为数不多的比较重要的设计决策:
(1)Kafka在设计之时为就将持久化消息作为通常的使用情况进行了考虑。
(2)Kafka主要的设计约束是吞吐量而不是功能。
(3)Kafka有关哪些数据已经被使用了的状态信息保存为数据使用者(consumer)的一部分,而不是保存在服务器之上。
(4)Kafka是一种显式的分布式系统。它假设,数据生产者(producer)、代理(brokers)和数据使用者(consumer)分散于多台机器之上。
2、Kafka的元数据在ZooKeeper中存储结构
3、Producer的处理逻辑
4、Consumer的处理逻辑
5、Broker的处理逻辑