Ghulam Qadir Asked: 2018-09-26 07:46:18 +0800 CST2018-09-26 07:46:18 +0800 CST 2018-09-26 07:46:18 +0800 CST 云数据库MongoDB版如何正确连接副本集实现读写分离 772 由于 MongoDB 中的副本集将数据存储在多个副本中,以提高数据可靠性和高服务可用性。 我的问题是: 云数据库MongoDB版如何正确连接副本集实现读写分离 mongodb 1 个回答 Voted Best Answer user161247 2018-09-26T08:07:12+08:002018-09-26T08:07:12+08:00 要正确连接副本集,首先要了解MongoDB的连接字符串URI。所有官方驱动程序都支持使用连接字符串连接到 MongoDB。 连接字符串包括以下内容: mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] mongodb:// 是表示连接字符串的前缀。 username:password@表示启用认证时必须指定的用户名和密码。 hostX:portX表示副本集中每个成员的IP地址和端口号。多个成员以逗号 (,) 分隔。 /database表示认证时用户账号所属的数据库。 ?options表示附加的连接选项。 实现读写分离,在options中加入readPreference=secondaryPreferred,使读请求优先到secondary节点。有关阅读选项的更多信息。 连接限制:在选项中添加 maxPoolSize=xx 以将客户端连接池限制为指定数量 (xx) 的连接。 要仅在数据成功写入大多数节点后才与客户端确认写入,请将 w= majority 添加到选项中。有关写入选项的更多信息。 这里以连接ApsaraDB for MongoDB为例。当您购买云数据库MongoDB副本集时,您可以获得副本集的名称和副本集成员的地址。 更详细的回答请点击这里
要正确连接副本集,首先要了解MongoDB的连接字符串URI。所有官方驱动程序都支持使用连接字符串连接到 MongoDB。
连接字符串包括以下内容:
mongodb:// 是表示连接字符串的前缀。
username:password@表示启用认证时必须指定的用户名和密码。
hostX:portX表示副本集中每个成员的IP地址和端口号。多个成员以逗号 (,) 分隔。
/database表示认证时用户账号所属的数据库。
?options表示附加的连接选项。
实现读写分离,在options中加入readPreference=secondaryPreferred,使读请求优先到secondary节点。有关阅读选项的更多信息。
连接限制:在选项中添加 maxPoolSize=xx 以将客户端连接池限制为指定数量 (xx) 的连接。
要仅在数据成功写入大多数节点后才与客户端确认写入,请将 w= majority 添加到选项中。有关写入选项的更多信息。
这里以连接ApsaraDB for MongoDB为例。当您购买云数据库MongoDB副本集时,您可以获得副本集的名称和副本集成员的地址。
更详细的回答请点击这里