Kafka的消息消费是以消费的group为单位;
同属一个group中的多个consumer分别消费topic的不同partition;
同组内consumer的变化, partition变化, coordinator.../main/scala/kafka/coordinator/GroupMetadataManager.scala
作用: 是比较核心的一个类, 负责所有group的管理, offset消息的读写和清理等...里实际上保存两种类型消息:
2.1 一部分是offset信息(kafka.coordinator.OffsetsMessageFormatter类型)的:
[groupId,topic,partition...存到了__consumer_offsets里, , 它的key是 groupId
offset和group信息的写入: 实际上是普通的消息写入没有本质上的区别, 可参考Kafka是如何处理客户端发送的数据的...=> Unit)
offset的相关操作
使用者消费msg提交的offset, 不仅会写入到log文件后, 为了快速响应还会缓存在内存中, 对应private val offsetsCache