🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] <br > ***** <br > # 重要的消费者参数 <br > fetch.min.bytes 该参数用来配置Consumer在一次拉取请求(调用poll()方法)中能从Kafka中拉取的最小数据量,默认值为1(B)。Kafka在收到Consumer的拉取请求时,如果返回给Consumer的数据量小于这个参数所配置的值,那么它就需要进行等待,直到数据量满足这个参数的配置大小。可以适当调大这个参数的值以提高一定的吞吐量,不过也会造成额外的延迟(latency),对于延迟敏感的应用可能就不可取了。 <br > fetch.max.wait.ms 这个参数也和fetch.min.bytes参数有关,如果kafka仅仅参考fetch.min.bytes参数的要求,那么有可能会一直阻塞等待而无法发送响应给Consumer,显然这是不合理的。fetch.max.wait.ms参数用于指定Kafka的等待时间,默认值为500(ms)。 <br > max.poll.records 这个参数用来配置 Consumer 在一次拉取请求中拉取的最大消息数,默认值为 500(条),如果消息的大小都比较小,则可以适当调大这个参数值来提升一定的消费速度。 <br > request.timeout.ms 这个参数用来配置 Consumer 等待请求响应的最长时间,默认值为 30000(ms)。 <br > metadata.max.age.ms 这个参数用来配置元数据的过期时间,默认值为300000(ms),即5分钟。如果元数据在此参数所限定的时间范围内没有进行更新,则会被强制更新,即使没有任何分区变化或有新的 broker 加入。 <br > reconnect.backoff.ms 这个参数用来配置尝试重新连接指定主机之前的等待时间(也称为退避时间),避免频繁地连接主机,默认值为50(ms)。这种机制适用于消费者向 broker 发送的所有请求。 <br > retry.backoff.ms 这个参数用来配置尝试重新发送失败的请求到指定的主题分区之前的等待(退避)时间,避免在某些故障情况下频繁地重复发送,默认值为100(ms)。 <br > isolation.level 这个参数用来配置消费者的事务隔离级别。字符串类型,有效值为“read\_uncommitted”和“read\_committed”,表示消费者所消费到的位置,如果设置为“read\_committed”,那么消费者就会忽略事务未提交的消息,即只能消费到LSO(LastStableOffset)的位置,默认情况下为“read\_uncommitted”,既可以消费到HW(High Watermark)处的位置。 <br >