当前位置: 首页 > 面试题库 >

kafka的message格式是什么样的?

朱伯寅
2023-03-14
本文向大家介绍kafka的message格式是什么样的?相关面试题,主要包含被问及kafka的message格式是什么样的?时的应答技巧和注意事项,需要的朋友参考一下

一个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内)。

 类似资料:
  • Google协议缓冲区不仅可以序列化为二进制格式,还可以序列化为文本,称为TextProto。然而,我不容易找到这样的文本的例子;会是什么样子? 预期答案:包含protobuf IDL/Proto文件允许的所有特性的示例,包括文本形式的示例protobuf数据包。

  • 本文向大家介绍搜索文件用什么命令? 格式是怎么样的?相关面试题,主要包含被问及搜索文件用什么命令? 格式是怎么样的?时的应答技巧和注意事项,需要的朋友参考一下 答案: find <指定目录> <指定条件> <指定动作> whereis 加参数与文件名 locate 只加文件名 find 直接搜索磁盘,较慢。 find / -name "string*"

  • 本文向大家介绍Kafka 存储在硬盘上的消息格式是什么?相关面试题,主要包含被问及Kafka 存储在硬盘上的消息格式是什么?时的应答技巧和注意事项,需要的朋友参考一下 消息由一个固定长度的头部和可变长度的字节数组组成。头部包含了一个版本号和 CRC32 校验码。 消息长度: 4 bytes (value: 1+4+n) 版本号: 1 byte CRC 校验码: 4 bytes 具体的消息: n b

  • 问题内容: 我正在为一个开源项目做贡献,在那里我正在为React Native开发Material Design。我在工作中受阻,无法在填充,对齐等方面进行一些UI级别的增强, 这是抽屉材料设计的官方规范- 在上图中,测量 单位 为 dp 。 但是,在我的React Native代码中,我没有提到任何此类单元。考虑到它是“ react native”,我对它是 px 还是 dp 感到困惑。 我什至

  • 问题内容: 任何人都可以参考x86_64 ABI(在Linux上使用的)的表示形式?我正在尝试调试一些代码,这些代码中的堆栈或参数似乎已损坏,这确实有助于理解我 应该 看到的内容… 问题答案: 我发表了评论。 这可能会有所帮助。这是一个参考,尽管很轻巧( 编辑 :原始链接已失效;已替换Wayback Machine保留的链接)。 变量参数列表参考从第50页开始,然后在第52-53页的文档中继续:

  • 我有一个关于bean的正确格式和用法的问题。xml文件。在我的项目中,我通常将这些内容用于我的bean。xml文件(未使用explizit bean声明): 这在WildFly 8和9中运行得很好。但是我在GlassFish 4中有部署问题。在问题中:Glassfish 4,CDI中的简单示例在WELD-001408中失败。我写了一个替代格式: 这里使用了不同的名称空间。GlassFish4似乎很