kafka学习笔记
1、partition(分区)在存储层面是append log文件,任何发布到此partition的消息都会被追加到log文件的尾部。
2、offset为一个long型的数字,它唯一标记一条消息。
3、kafka是顺序写磁盘。
4、在发送一条消息时,可以指定这个消息的key,producer根据这个key和partition机制来判断这个消息发送到哪个partition。
5、partition是实际物理上的概念,而topic是逻辑上的概念。
6、partition还可以细分为segment。
7、segment文件由两部分组成,分别为“.index”文件和“.log”文件,分别表示为segment索引文件和数据文件。
8、Kafka使用ISR的方式确保数据不丢失以及吞吐量。
9、不只是Kafka, 类似RabbitMQ以及RocketMQ这类商业级中间件也只保障at least once, 且也无法从自身去进行消息去重。