【发布时间】:2021-02-14 07:19:09
【问题描述】:
我是 Streaming Broker [如 Kafka] 的新手,来自队列消息系统 [如 JMS、Rabbit MQ]。
我从 Kafka 文档中了解到,消息作为记录存储在 Kafka 分区中的偏移量中。消费者从偏移量读取。
消息和记录有什么区别【多条/部分消息是否构成一条记录?】
当消费者从偏移量读取时,消费者是否有可能读取部分消息?消费者是否需要根据某种逻辑将这些部分消息串起来?
或
1 条消息 = 1 条记录 = 1 个偏移量
编辑1:
之所以提出这个问题,是因为“批量大小”决定了应该将多少字节的消息发布到 borker。假设有 2 条消息,消息 1 = 100 字节,消息 2 = 200 字节,批量大小设置为 150 字节。这是否意味着来自 message1 的 100 个字节和来自 message2 的 50 个字节一次发送到代理?如果是,这两条消息是如何存储在偏移量中的?
【问题讨论】:
标签: apache-kafka apache-kafka-streams