一、kafka架构
producer:生产者。producer产生的数据追加到partition的log文件中,每条数据有自己的offset
consumer:消费者
consumer group:消费者组;对应一个partition,一个消费组中只能有一个consumer来消费
broker:一个kafka服务就是一个broker
topic:逻辑概念;代表一类消息
partition:分区。partition是物理上的概念,每个partition对应一个log文件。
一个topic可以分到多个partition上,每个partition是有序的队列,但不能保证topic全局有序replica:副本。一个topic在一个partition有一个leader replica和多个follower replica
二、工作流
三、文件存储
log文件已1G为临界点,超过1G就会创建新文件
一个segement包含一个log文件、一个index文件;文件结尾是文件中第一条消息的offset-1
根据offset (1560140921)定位数据:
定位到00000000001560140916.log、00000000001560140916.index文件
1560140921 - 1560140916 + 1 = 5
根据上一步的5找到index文件中序号为5对应的地址456
根据456找到log文件中对应的消息
参考:
https://blog.csdn.net/godlovedaniel/article/details/120113667
https://blog.csdn.net/cao1315020626/article/details/112590786
Top comments (0)