我有一个使用融合 Kafka 的 go 项目,我想更改它的初始连接超时。如果第一次尝试时 kafka 不可用,我想每隔几秒重试一次连接,并在 10 分钟后放弃重试。
默认情况下,它会反复尝试不间断地连接到 Kafka,我再次收到以下日志:([thrd:localhost:9092/bootstrap]: localhost:9092/bootstrap: Connect to ipv6#[::1]:9092 failed: Connection refused (after 1ms in state CONNECT)
有时略有不同,例如 ipv4 而不是 ipv6,0ms 或 2ms 而不是 1ms)
我尝试过以下配置,但似乎都不起作用
conf := kafka.ConfigMap{
"bootstrap.servers": fmt.Sprintf("%s:%d", kafkaHost, kafkaPort),
"group.id": "billing",
"auto.offset.reset": "earliest",
"go.logs.channel.enable": true,
"heartbeat.interval.ms": 10000,
"session.timeout.ms": 10000,
"connections.max.idle.ms": 10000,
"max.poll.interval.ms": 10000,
"socket.connection.setup.timeout.ms": 10000,
"auto.commit.interval.ms": 10000,
"metadata.max.age.ms": 100000,
"reconnect.backoff.max.ms": 100000,
"reconnect.backoff.ms": 10000,
}
Run Code Online (Sandbox Code Playgroud)
当 Kafka 在 docker compose 中运行时,我能够正常连接到 Kafka。现在我只想在案件失败时处理它。