Kafka系列2:深入理解Kafka生产者(11)

  • metadata.fetch.timeout.ms 指定了生产者在获取元数据(比如分区首领是谁)时等待服务器返回响应的时间 。

  • max.block.ms

    该参数指定了在调用send()方法或使用partitionsFor()方法获取元数据时生产者的阻塞时间 。 当生产者的发送缓冲区已满 , 或者没有可用的元数据时 , 这些方法会阻塞 。 在阻塞时间达到 max.block.ms 时 , 生产者会抛出超时异常 。

    max.request.size

    该参数用于控制生产者发送的请求大小 。 它可以指发送的单个消息的最大值 , 也可以指单个请求里所有消息总的大小 。 例如 , 假设这个值为 1000K , 那么可以发送的单个最大消息为 1000K , 或者生产者可以在单个请求里发送一个批次 , 该批次包含了 1000 个消息 , 每个消息大小为 1K 。

    receive.buffer.bytes和send.buffer.byte

    这两个参数分别指定 TCP socket 接收和发送数据包缓冲区的大小 , -1 代表使用操作系统的默认值 。

    推荐阅读