栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

MongoDB + Azure + Android:com.mongodb.WriteConcernException err:“非主用户”代码:“10058”

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MongoDB + Azure + Android:com.mongodb.WriteConcernException err:“非主用户”代码:“10058”

如果所有实例都位于单个负载均衡

Input
端点(例如27017)后面,那么每次您的客户端计算机连接到该端点时,它将连接到副本集群集中可能不同的节点上(并且您无法控制您去过哪个实例)。这可能可以解释为什么您有时会尝试向非主节点写入并得到错误,但所有读取仍然有效(因为您可能将MongoDB集群设置为允许在辅助节点上进行读取)。

辅助角色还支持

InstanceInput
端点,这些端点使您可以设置一个面向外部的端口范围(例如27017-27019),映射到辅助实例自身上的单个端口(例如27017)。如果执行此操作,您的客户端应用程序现在可以直接连接到所有三个实例(27017、27018、27019)。许多驱动程序支持副本集连接,因此它将能够确定哪个节点是主节点,并将所有写入均定向到该节点。
我不知道您在Android上使用的驱动程序是否支持副本集。
如果驱动程序不支持副本集,则您可能需要考虑建立一个API层,该层随后将所有通信传递给数据库(无论如何,通常遵循的一种良好做法是,您可以查看Azure的移动服务一种快速的实现方法)。

因此…如果将副本集群集的端点配置为

Input
,则可能解释了您所看到的问题,可以通过将端点类型切换为来解决该问题
InstanceInput



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/516333.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号