You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Confluent.Kafka连接Azure Event Hubs出现未知连接错误问题

问题场景
  • 已部署Azure Event Hubs实例,实例下创建名为test的事件中心
  • 使用官方原生客户端Azure.Messaging.EventHubs时,可正常连接实例并发布消息
  • 使用v1.1.0版本Confluent.Kafka客户端连接时抛出错误:
    Unknown error (after 21286ms in state CONNECT)
    
  • 客户端输出错误日志:

%3|1655301022.374|ERROR|rdkafka#producer-1|[thrd:sasl_plaintext://my-event-hub-namespace.servicebus.windows.net:9093/bootstra]:1/1 brokers are down

原问题使用的客户端配置代码
var config = new ProducerConfig
{
    BootstrapServers = "my-eventhub-namespace.servicebus.windows.net:9093",
    SecurityProtocol = SecurityProtocol.SaslSsl,
    SaslMechanism = SaslMechanism.Plain,
    SaslUsername = "$ConnectionString",
    SaslPassword = "Endpoint=sb://my-eventhub-namespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=MySharedAccessKey==",
};

using (var producer = new ProducerBuilder<long, string>(config).SetKeySerializer(Serializers.Int64).SetValueSerializer(Serializers.Utf8).Build())
{
问题根因
  • 上述客户端配置本身完全符合Azure Event Hubs Kafka兼容层的参数要求,不存在配置逻辑错误
  • 连接失败的核心原因是网络限制:
    • 官方原生Azure.Messaging.EventHubs客户端默认通过WebSockets协议(走443端口)建立连接,可正常穿过当前环境的防火墙/网络安全规则
    • Confluent.Kafka客户端默认使用原生Kafka协议,通过9093端口与Event Hubs建立TCP连接,当前环境拦截了该端口的出站请求,导致连接阶段超时,最终上报所有broker不可用的错误
修复方案
  • 联系网络管理员调整安全规则,放通客户端运行环境到目标Event Hubs命名空间9093端口的出站TCP访问,放通后原有代码可直接正常运行
  • 若无法开放9093端口,可修改Confluent.Kafka客户端配置,启用WebSockets传输模式,走443端口通信,复用官方客户端的连通路径即可绕过网络限制

内容的提问来源于stack exchange,提问作者Binary Worrier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 00:36:19