问题一:消息中间件MetaQ中的ConsumerGroup是指什么?
消息中间件MetaQ中的ConsumerGroup是指什么?
参考回答:
ConsumerGroup,即消费者集群,多个消费者可以组成一个分组,拥有一个共同的分组名称,来共同消费一个topic下的消息,每个消费者消费部分消息。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/615051
问题二:消息中间件MetaQ中的Message是指什么?
消息中间件MetaQ中的Message是指什么?
参考回答:
Message,即生产或者消费的消息,负载用户的数据并且在producer、broker和consumer之间传输。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/615052
问题三:消息中间件MetaQ中的Offset是指什么?
消息中间件MetaQ中的Offset是指什么?
参考回答:
消息在Broker上的每个分区都是组织成一个文件列表,消费者拉取数据的时候需要知道数据在文件中的偏移量,这个偏移量就是offset。Offset是一个绝对的偏移量,服务器会将offset转化为具体文件的相对偏移量。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/615053
问题四:Kafka存储机制是什么?
Kafka存储机制是什么?
参考回答:
Kafka和MetaQ一样,都是采用topic作为发布和订阅的主题,topic是个逻辑概念,而partition是物理上面的概念,每个partition对应一个log文件,该log文件中存储的就是producer生产的数据。producer生产的数据会被不断追加到log文件的末端,且每条数据都有自己的offset。
每个Partition都会有自己的副本,Kafka会尽量的使所有的分区均匀的分布到集群中的所有节点而不是集中在某些节点上,另外主从关系也尽量均衡这样每个几点都会担任一定比例的分区的leader。
每个partition以目录的形式存储在broker上,该目录底下存储着的是该partition内容被平均分配成的多个大小相等的数据文件,我们称之为segment(段)。每个segment文件分为两个部分,index file和data file,此两个文件一一对应,后缀".index"和".log"分别表示segment的索引文件和数据文件。文件的命名规则为partition全局的第一个segment为0开始,后续每个segment文件名为上一个全局partion的最大offset(偏移message数)。每个segment中存储很多条消息,消息id由其逻辑位置决定,即从消息id可直接定位到消息的存储位置,避免id到位置的额外映射。
segment index file采取稀疏索引存储方式,它减少索引文件大小,通过mmap可以直接内存操作,稀疏索引为数据文件的每个对应message设置一个元数据指针,先通过index文件中获取该message的一个位置范围,然后根据这个位置范围在log文件中找到该message的信息。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/615054
问题五:Kafka中的topic和partition分别是什么概念?
Kafka中的topic和partition分别是什么概念?
参考回答:
在Kafka中,topic是发布和订阅的主题,它是一个逻辑概念。而partition则是物理上的概念,每个partition对应一个log文件,用于存储producer生产的数据。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/615055