kafka的message格式是什么样的?

发布于 2020-05-19 18:12:58
关注者
0
被浏览
920
1 个回答
  • 面试哥
    面试哥 2020-05-19
    为面试而生,有面试问题,就找面试哥。

    一个Kafka的Message由一个固定长度的header和一个变长的消息体body组成

    header部分由一个字节的magic(文件格式)和四个字节的CRC32(用于判断body消息体是否正常)构成。

    当magic的值为1的时候,会在magic和crc32之间多一个字节的数据:attributes(保存一些相关属性,

    比如是否压缩、压缩格式等等);如果magic的值为0,那么不存在attributes属性

    body是由N个字节构成的一个消息体,包含了具体的key/value消息

    14.kafka中consumer group 是什么概念

    同样是逻辑上的概念,是Kafka实现单播和广播两种消息模型的手段。同一个topic的数据,会广播给不同的group;同一个group中的worker,只有一个worker能拿到这个数据。换句话说,对于同一个topic,每个group都可以拿到同样的所有数据,但是数据进入group后只能被其中的一个worker消费。group内的worker可以使用多线程或多进程来实现,也可以将进程分散在多台机器上,worker的数量通常不超过partition的数量,且二者最好保持整数倍关系,因为Kafka在设计时假定了一个partition只能被一个worker消费(同一group内)。

知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看