【问题标题】:Mongodb - no suitable serverMongodb - 没有合适的服务器
【发布时间】:2017-06-30 12:14:16
【问题描述】:

我使用 mongo 部署了一个新的 cosmosDB,并且我在 azure 中也有一个 appservice。 appservice 是一个简单的 php 应用程序,它连接到一个集合(在 cosmosDB 中)。除了连接问题外,它完美无缺。 Cosmosdb 有时会抛出以下错误:找不到合适的服务器(serverSelectionTryOnce 设置):[连接关闭调用 ismaster on 'http://apidb.documents.azure.com:10250']。

可能是什么问题?需要增加 RU 还是需要更改一致性设置?

PHP:7.0.18,mongodb 驱动:1.2.8,libmongoc 版本:1.5.5(我读到这个问题应该在 1.2.0 mongodb 驱动版本中修复)

提前致谢!

更新:

如果我从连接字符串中删除 repliceSet 选项(azure 表示推荐使用此选项),则抛出此错误的次数要少得多。

【问题讨论】:

  • 您能否发布有关您的连接字符串的更多相关信息?据我所知,azure mongodb 连接字符串是使用 SSL 并使用 10255 端口,而不是如错误所示。另外,能否请您发布您现在使用的 PHP 架构,例如 laravel。

标签: azure-cosmosdb


【解决方案1】:

您能否尝试根据http://php.net/manual/en/mongodb-driver-manager.construct.php 设置 serverSelectionTryOnce = false 并重试您的用例。根据您当前的设置,isMaster 请求中的单个失败将导致应用程序失败并出现上述错误。

如果您仍然遇到相同的错误,请将确切的错误消息(最好是 MongoLog http://php.net/manual/en/class.mongolog.php)发送到 askcosmosmongoapi [at] microsoft [dot] com

【讨论】:

  • 它对我有用,谢谢 (serverSelectionTryOnce=false)。
猜你喜欢
  • 2017-05-29
  • 2014-02-09
  • 1970-01-01
  • 2021-03-27
  • 1970-01-01
  • 1970-01-01
  • 2016-02-11
  • 2021-03-03
  • 2015-08-18
相关资源
最近更新 更多