嗯,学完Kafka感觉脑袋一片空白,那就按思路整理整理吧!Kafka的学习笔记主要按照几个大块整理 ①基础知识; ②实现原理 ;③Java代码块
Kafka的三大术语是:
Producer:生产者,负责创建消息,投递到Kafka内。
Consumer:消费者,负责连接到Kafka上接收消息,进行业务逻辑处理。
Broker:服务代理节点,一个或多个Broker组成了一个Kafka集群,注意在配置server.properties时,一个集群内的broker值不能相同。
**
Kafka的基本运作架构大致是:
**
Zookeeper是Kafka用来负责管理集群元数据的、控制器的选举操作。Producer会将消息发送到Broker,Broker负责将收到的消息存储到磁盘,而Consumer负责从Broker中订阅消息。
Kafka基本概念是:
- 消息
Kafka中消息格式由很多字段组成,包括消息头部、key、value组成,消息使用紧凑的二进制字节数组,并且使得大量的页缓存而非堆内存。出图
- topic(主题)
topic为一个逻辑概念,可以理解为一个队列,而一个topic有多个partition组成
主题这一块主要知道如何创建主题(create),查看主题信息(describe),删除主题(delete),修改主题(alter),具体的命令需要去查看。
- partition(分区)
Kafka 的partition是不可修改的有序消息序列,其中的每条消息都有一个唯一的 ID–offset。
- offset
用于唯一表示topic partition中的每条消息,需要注意的是,Kafka消费端也是offset的概念,其表示的当前消费者消费某个partition的消息位置。
- Replica
Kafka的分区有多个副本,副本是相对于分区而言的,副本为特定分区的副本,副本存放在不同的broker中,多个副本能提高容灾能力,防止数据丢失。
主要的概念就这些,这里只写了大致的内容,有啥缺的后面再补回来吧。