【发布时间】:2018-01-26 06:48:42
【问题描述】:
我的应用程序在 NodeJS 4.4.7 上运行,并使用 MongoDB 驱动程序 2.2.31(不是 Mongoose)连接到 Azure CosmosDB。这就是我连接数据库的方式:
var connectionString = 'mongodb://USERNAME:PASSWORD@yyy.documents.azure.com:10255/DB_NAME?ssl=true'
var options = {
db: { j: false },
server: { autoReconnect: true, socketOptions: { connectTimeoutMS: 300000 } },
};
require('mongodb').MongoClient.connect(connectionString, options, callback);
我最近开始遇到以下错误:
MongoError: connection X to http://yyy.documents.azure.com:10255 timed out
其中 X 是一个小整数(我见过 8、10、29 等)。
一些背景信息:
- 当我没有设置异地复制时(30 多天)没有错误。
- 最近从 Azure 门户设置异地复制(美国西部作为写入区域,美国东部作为读取区域)。
- 开始遇到“没有可用的主服务器”错误。
- 将我的 mongodb 驱动程序从 2.0.49 更新到 2.2.31,错误消失了,但立即开始出现“池被破坏”错误。
- 关注this workaround 解决了问题(即删除
&replicaSet=globaldb) - 在 3 天的零问题后,我开始遇到上述“连接超时”错误。第一次报告的错误是在美国东部标准时间 8 月 16 日晚上 8:24 左右,最后一次报告的错误是在美国东部标准时间 8 月 17 日早上 6:40 左右。
我不确定这是 Azure 的临时问题,还是我连接到 CosmosDB 的方式有问题。任何建议将不胜感激!
【问题讨论】:
标签: azure-cosmosdb