kafka笔记

1.kafka是一个分布式的基于发布/订阅模式的消息队列。
2.消息队列的两种模式
(1).点对点模式(一对一,消费者主动拉取数据,收到消息后消息队列删除该消息)
支持多个消费者,但是一个消息只能被一个消费者消费。
(2).发布订阅模式(一对多)
分为主动推送和消费者拉取(kafka模式)两种,消费后消息不会删除,但是消息只能在队列里存在一段时间。
3.使用消息队列的好处
(1).解耦;(2).可恢复性;(3).缓冲;(4).削峰;(5).异步通信。
4.某一个分区,只能被每个消费者组里面的一个消费者消费。
5.消息保存在磁盘上。默认7天。
6.0.9版本之前offset存储在zk中,0.9版本之后offset存储在本地磁盘。
7.producer是线程安全的。producer发送消息并不是接到一条发送一条。
8.producer.send(record),执行计算批次,计算分区,创建批次,向批次中追加消息。真正的发送是守护进程的sender方法。
9.消息传递保障,最多一次(收到0或1次),至少一次(收到1到多次),正好一次(有且仅有一次)。



【kafka笔记】

    推荐阅读