启用VNet的ADF集成运行时突发Cosmos DB连接故障排查咨询
问题
此前已成功使用启用VNet的Azure Data Factory(ADF)集成运行时连接同属VNet内的MongoDB API版Cosmos DB,但近期该运行时突然无法连接。新建启用VNet且区域设为Auto Resolve的集成运行时后,管道运行成功。现咨询:
- 为何原集成运行时(启用VNet且区域与ADF匹配)正常运行一个多月后突发故障?
- Auto Resolve区域是否是新运行时成功的关键?
附错误信息:
Error:Failure happened on 'Source' side. ErrorCode=MongoDbConnectionTimeout,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=>Connection to MongoDB server is timeout.,Source=Microsoft.DataTransfer.Runtime.MongoDbAtlasConnector,''Type=System.TimeoutException,Message=A timeout occured after 30000ms selecting a server using CompositeServerSelector{ Selectors = MongoDB.Driver.MongoClient+AreSessionsSupportedServerSelector, LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000 } }. Client view of cluster state is { ClusterId : "1", ConnectionMode : "ReplicaSet", Type : "ReplicaSet", State : "Disconnected", Servers : [{ ServerId: "{ ClusterId : 1, EndPoint : "Unspecified/cosmontiv01u.mongo.cosmos.azure.com:10255" }", EndPoint:
解答
一、原集成运行时突发故障的可能原因
- Cosmos DB副本集拓扑变更:MongoDB API的Cosmos DB基于副本集架构,Azure后台可能会调整副本节点的区域分布、IP地址或进行故障切换、滚动更新。原运行时绑定固定区域,无法及时感知新节点状态,导致连接超时。
- VNet网络策略变更:同VNet内的NSG规则更新、路由表调整、Cosmos DB服务端点的区域限制修改,都可能阻断原运行时所在区域节点与Cosmos DB的连通性。
- 集成运行时节点资源耗尽:长期运行的节点可能出现内存泄漏、CPU占用过高或磁盘空间不足,导致网络连接处理能力下降,触发超时。
- Cosmos DB侧临时负载限流:当Cosmos DB所在区域负载过高时,会临时限制新连接请求,原固定区域的运行时刚好触发该限制。
二、Auto Resolve区域是新运行时成功的核心原因
是的,这是关键因素:
- Auto Resolve模式下,ADF会自动选择与Cosmos DB副本集节点网络延迟最低的区域部署运行时节点,而非固定在ADF所在区域。
- 原固定区域的运行时可能因Cosmos DB副本节点的区域调整,出现网络延迟过高甚至连通中断;而Auto Resolve模式能动态匹配当前可用、延迟最低的Cosmos DB节点,规避了超时问题。
- 此外,该模式还能自动适配Azure后台的基础设施变更,比如副本节点的区域迁移,无需手动调整运行时配置。
内容的提问来源于stack exchange,提问作者SKARVA Bodavula
相关产品推荐
相关产品推荐

