当前位置: 首页 > 知识库问答 >
问题:

Kafka制作人如何发送批次?

吕作人
2023-03-14

我知道Kafka制作人会将消息分批处理。每个批属于一个特定的分区。

我的问题是

  1. 生产者是否知道每个批次属于哪个分区?
  2. 生产者是否知道每个分区的代理地址?
  3. 当生产者发送请求时,每个请求包含多个批次还是只包含一个属于目标分区的批次。
  4. 如果生产者发送多个批次,接收kafka服务器是否将批次重传到目标分区。

共有1个答案

葛宏爽
2023-03-14

>

  • 生产者将目标分区分配给每个记录(如果应用程序未提供),这样他们就可以知道批次的分区。

    启动时,生产者将检索群集元数据。这包含分区的当前领导者。生产者还定期刷新元数据,以便能够发现更新或新分区。

    生产请求可以包含多个分区的批次。您可以看到协议中的每个分区都有一个记录字段。

    生产者直接将记录发送给作为分区领导者的代理。

  •  类似资料:
    • 我在用Kafka。 我有10k个jsons列表, 我该怎么做呢? 谢谢

    • 我使用spring框架和有3个代理集群的kafka。我发现使用者没有使用某些消息(假设在所有发送消息中使用0.01%),所以在生产者代码中,我记录了API返回的消息偏移量: 我使用返回偏移量来查询所有分区中的kafka主题,但它没有找到消息(我测试了与消费者使用的和他们在kafka中的消息相关的其他偏移量),问题是什么,我如何确保该消息发送到kafka? 我还在producer中使用了

    • 我已经设置了kafka客户端,它可以产生和消费消息,当我们把有效载荷从生产者发送到主题时,它可以正常工作,所以我有问题生产者现在第一个消息我可以发送到主题,我也可以从kafka主题中消费,现在我尝试发送第二个消息,但是消费者没有从kafka主题中读取第二个消息,知道这里发生了什么吗? Producer.js consumer.js

    • 问题内容: 使用以下代码,我发送Elasticsearch文档以进行索引。我尝试将基本对象转换为JSON并通过生产者发送。但是,每条消息(从控制台检查)都附加了乱码,例如 - t。{“ productId”:2455 出站配置 有什么线索吗? 使用的插件:Spring Extension Kafka 问题答案: 我今天遇到了这个问题,可以通过在生产者配置中设置正确的value-serializer

    • 我在向我的Kafka主题发送序列化XML时遇到问题。每当我运行我的代码时,我都不会收到任何异常或错误消息,但我仍然无法在Kafka主题中看到我的任何消息。 我的Kafka制作人设置如下: 当我运行代码时,我得到: 知道怎么做吗?提前谢谢!

    • 我是斯卡拉和Kafka的新手,遇到了一些麻烦。 我正在尝试将scala kafka producer连接到安装在cloudera express服务器上的kafka服务器。我已经用这些指令在VMs中这样做过一次了,没有任何问题。 当我运行producer时,所需的主题被创建,但没有任何消息被发送,或者我是这样认为的。 Kafka制作人 当我执行run方法时,我看到“producer-send:#”