3 Star 3 Fork 2

Gitee 极速下载 / KafkaBridge

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/Qihoo360/kafkabridge
克隆/下载
CONFIGURATION_ZH.md 3.30 KB
一键复制 编辑 原始数据 按行查看 历史
BewareMyPower 提交于 2020-06-17 23:50 . Update configuration tutorial

配置文件是 INI 格式,分为 3 部分:

[global]
; ...
[topic]
; ...
[sdk]
; ...

global 和 topic 配置参考 librdkafka 1.0.x 配置。以下是一些配置:

[global]
; 如果在 init() 方法中设置了 broker list,
; 或者 [sdk] 部分配置了 broker.list,
; 那么这个配置不起作用。
bootstrap.servers=

; stats 回调被调用的周期,我们使用 stats 回调检测 broker 是否重新变成 UP 状态
; 默认:1 分钟
statistics.interval.ms=60000

[topic]
; 注意:我们的默认值是 earliest,而 rdkafka 的默认值是 latest
auto.offset.reset=earliest

; 注意:我们的 SDK 在消息超时的场合会重发消息。这在有些 broker 挂掉的情况下很好,消息会
; 重发到可用的 broker。
; 对于带 key 的消息,它们只会被重发到分区 0 对应的 broker。
; 但是这种行为会导致消息的乱序,也可能导致消息的重复发送,因为超时并不意味着消息送达失败。
; 将它设为 0 来禁止我们 SDK 的这种行为,这也意味着消息将永不超时。
message.timeout.ms=300000

[sdk]
; 如果在 init() 方法中设置了 broker list,
; 那么这个配置不起作用。
broker.list=

修改 SDK 的日志等级:

[sdk]
; 可以是 debug, info, warning 或 error.
; 默认:info
log.level=info

如果要查看 rdkafka 的日志,使用以下配置:

[global]
; 0 到 7 之间的整数(包含 0 和 7)。7 是 debug,6 是 info,等等。
; 默认: 6
log_level=7
; 见 rdkafka 的配置
debug=all

[sdk]
; 默认:false。若设为 true,则 rdkafka 的日志会写到本地的 Rdkafka.log 文件。
enable.rdkafka.log=true

对于生产者:

[sdk]
; 设为 true 则同步发送。不推荐同步发送,它目前存在潜在的 BUG。
; 默认:false
send.sync=false

; 当生产者调用 uninit() 时,它会冲刷所有排队等待的消息以防止消息丢失。该配置是 flush 操作会等待的最大时间。
; 默认:3 秒
flush.timeout.ms=3000

; 若设为 true,则即使生产者调用 uninit() 也会造成内存泄漏。但如果 uninit() 后进程退出了,则内存泄漏没有关系。
; 默认:false
producer.force.terminate=false

; 若设为 true,则发送失败的消息会记录到本地文件中,这是个实验性的功能,不建议使用。
; 默认:false
enable.record.msg=false

对于消费者:

[sdk]
; 消费者调用 poll() 的最大等待时间,单位:毫秒
; 默认:100
consumer.poll.time.ms=100

; 若设为 true,则即使消费者调用 stop() 也会造成内存泄漏。但如果 stop() 后进程退出了,则内存泄漏没有关系。
; 默认:false
consumer.force.terminate=false

如果想要使用我们 SDK 来自动提交 offset:

[global]
enable.auto.commit=false

[sdk]
user.manual.commit.offset=false

; 两次提交之间的最小时间间隔,单位:毫秒
; 例外地,消费者调用 stop() 时也会提交 offset,无视这个配置。
; 默认:200
manual.commit.time.ms=200

如果想要自己提交 offset:

[global]
enable.auto.commit=false

[sdk]
user.manual.commit.offset=true

这意味着你需要在 deliveryMsgForCommitOffset() 回调中使用 commitOffsets() 方法。

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C/C++
1
https://gitee.com/mirrors/KafkaBridge.git
git@gitee.com:mirrors/KafkaBridge.git
mirrors
KafkaBridge
KafkaBridge
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891