我们将Azure事件中心与Kafka集成选项一起使用。我们的服务在Java,Spring Boot,Spring Cloud Stream上。它们部署在Azure AKS上。我们已经在群集的虚拟网络上为Azure事件中心启用了服务终结点。
大多数时候,一切正常。
制作人有时可能无法发布到Kafka。我们会丢失消息,这通常对于总体数据一致性至关重要。
发生这种情况时,我们会在日志中看到一些错误(出于可读性考虑,我将它们细分为多行):
日志中的第一个示例:
2019-02-21 22:11:04.681 WARN 1 --- [ad | producer-2]
o.a.k.clients.producer.internals.Sender : [Producer clientId=producer-2]
Got error produce response with correlation id 6 on topic-partition _topic-name_-1,
retrying (4 attempts left). Error: NETWORK_EXCEPTION
第二个示例:
org.apache.kafka.common.errors.TimeoutException:
Expiring 1 record(s) for _topic-name_-1:
30096 ms has passed since batch creation plus linger time
消费者还偶尔遇到连接问题:
2019-02-22 03:03:59.733 INFO 1 --- [container-0-C-1]
o.a.k.c.c.internals.AbstractCoordinator :
[Consumer clientId=consumer-6, groupId=my-super-service]
Group coordinator my-super-hub.servicebus.windows.net:9093
(id: 2147483647 rack: null) is unavailable or invalid, will attempt rediscovery
有人在Azure Event Hub上遇到过类似的问题吗,也许对可能是什么问题有一些想法?
答案 0 :(得分:0)
您需要设置最大连接空闲时间。
connections.max.idle.ms
祝你好运。