地址类型 |
- 私网连接:
- 专有网络:专有网络是一种隔离的网络环境,安全性和性能均高于传统的经典网络。 云数据库MongoDB实例默认提供专有网络连接地址,通过专有网络连接云数据库MongoDB实例可以获取更高的安全性和性能。
- 经典网络:云服务在网络上不进行隔离,仅依靠云服务自身的安全组或白名单策略阻挡非法访问。
- 公网连接:由于通过公网连接实例存在一定的安全风险,云数据库MongoDB实例默认未提供公网连接地址。如果您需要通过公网连接云数据库MongoDB实例,可以手动申请公网连接地址,申请方法请参见(可选)申请公网连接地址。
|
角色 |
- Primary:主节点,连接主节点地址可以执行数据库的读写操作。
重要 不建议在生产环境的应用程序通过该地址连接实例,当主节点出现故障时,会发生主备切换,主节点地址会发生变化,您需要连接新的主节点确保读写操作不受影响。
- Secondary:从节点,连接从节点地址仅能执行数据库的读操作。
- Readonly:只读节点,连接只读节点地址仅能执行数据库的读操作。
说明 只有实例中已存在只读节点时,您才可以看到只读节点的地址。
- ReadOnly ConnectionStringURI:实例的高可用地址,实现负载均衡及高可用,连接高可用地址可以执行数据库的读写操作。该地址只包含实例所有只读节点的地址,在具有多个只读节点的情况下,建议读操作多的应用程序通过该地址连接实例。
说明
- 只有实例中已存在只读节点时,您才可以看到ReadOnly ConnectionStringURI地址。
- 通过ReadOnly ConnectionStringURI地址连接实例,会优先将读请求发送到只读节点。
- 当实例中的某个只读节点出现故障时,读请求会自动切换到下一个只读节点,不会影响应用的读操作。如果所有的只读节点都出现了故障,读请求会切换到从节点。
- ConnectionStringURI:实例的高可用地址,实现负载均衡及高可用,连接高可用地址可以执行数据库的读写操作。该地址包含实例所有节点的地址,建议生产环境的应用程序通过该地址连接实例。
重要 生产环境的应用程序建议通过ConnectionStringURI地址连接实例,可以确保连接的节点始终为主节点,不会因为主备切换而影响应用的读写操作。
|
Primary、Secondary和Readonly节点地址 |
格式:<host>:<port>
参数说明:
<host> :主节点、从节点或只读节点的域名信息。
<port> :主节点、从节点或只读节点的端口。
示例: dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717
|
ReadOnly ConnectionstringURI地址 |
格式:mongodb://<username>:<password>@<host1>:<port1>,<host2>:<port2>,...,<hostN>:<portN>/<database>?readPreference=[secondary | secondaryPreferred][&readPreferenceTags=<readonly_Tags>]&replicaSet=<replicaSet_value>[&authSource=<authenticationDatabase>]
参数说明:
<username> :数据库账号的名称,默认为root。
<password> :数据库账号的密码。
<host> :只读节点的域名信息。
<port> :只读节点的端口。
<database> :要访问的数据库名称,默认为admin。
readPreference=[secondary | secondaryPreferred] :实现读写分离和负载均衡,该参数可以将写请求发送到主节点,读请求随机发送到从节点和只读节点,取值说明如下:
readPreference=secondary :如果从节点和只读节点都出现故障,读请求失败,不会发送到主节点。
readPreference=secondaryPreferred :如果从节点和只读节点都出现故障,该参数将读请求发送到主节点。
readPreferenceTags=<readonly_Tags> (可选):该参数可以将读请求优先发送到标签对应的只读节点。<readonly_Tags> 为只读节点的标签键值对列表,固定取值为role:readonly ,不允许修改。
replicaSet=<replicaSet_value> :该参数可以将读请求发送到副本集实例的所有节点。<replicaSet_value> 为实例高可用连接地址的唯一标识ID。
authSource=<authenticationDatabase> (可选):该参数用于指定数据库账号所属的数据库。<authenticationDatabase> 为鉴权数据库名称。如果不配置该参数,<database> 会作为鉴权数据库。
重要 数据库账号必须在所属的数据库下进行鉴权,才能鉴权成功。
示例: mongodb://root:****@dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717/admin?readPreference=secondary&readPreferenceTags=role:readonly&replicaSet=mgset-6108****
|
ConnectionstringURI地址 |
格式:mongodb://<username>:<password>@<host1>:<port1>,<host2>:<port2>,...,<hostN>:<portN>/<database>?replicaSet=<replicaSet_value>[&authSource=<authenticationDatabase>]
参数说明:
<username> :数据库账号的名称,默认为root。
<password> :数据库账号的密码。
<host> :主节点、从节点和只读节点的域名信息。
<port> :主节点、从节点和只读节点的端口。
<database> :要访问的数据库名称,默认为admin。
replicaSet=<replicaSet_value> :该参数可以将读请求发送到副本集实例的所有节点。<replicaSet_value> 为实例高可用连接地址的唯一标识ID。
authSource=<authenticationDatabase> (可选):该参数用于指定数据库账号所属的数据库。<authenticationDatabase> 为鉴权数据库名称。如果不配置该参数,<database> 会作为鉴权数据库。
重要 数据库账号必须在所属的数据库下进行鉴权,才能鉴权成功。
示例: mongodb://root:****@dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-6108****
|