连接 mongodb集群的集中方式

mongodb 连接到复制集

sh 复制代码
mongodb://node1,node2,node3.../database?[options]

mongodb 连接到分片集

sh 复制代码
mongodb://mongos1,mongos2,mongos3.../database?[options]

使用 mongo+srv

通过域名解析得到所有的 mongos 或 节点的地址, 而不是把这些写在连接字符串中.

sh 复制代码
mongodb+srv://server.example.com

mongo+srv:// 是 MongoDB 连接字符串中的一种格式,用于指示 MongoDB 驱动程序使用 DNS SRV 记录来查找 MongoDB 集群的地址信息。通过使用 mongo+srv:// 连接字符串,您可以只提供集群的域名而不是具体的主机名和端口号,MongoDB 驱动程序将自动查找 DNS 中的 SRV 记录来获取集群的连接信息。

要配置域名以供使用 mongo+srv:// 连接字符串,您需要在 DNS 服务器中设置相应的 SRV 记录。以下是一个示例说明如何设置 SRV 记录:

假设您有一个 MongoDB 集群,域名为 example.com,并且集群中有三个节点:node1.example.comnode2.example.comnode3.example.com。您可以在 DNS 服务器中为 example.com 添加一个 SRV 记录,指向您的 MongoDB 集群。

示例 SRV 记录的格式如下:

sh 复制代码
_mongodb._tcp.example.com. IN SRV <priority> <weight> <port> <target>
  • _mongodb._tcp.example.com.:SRV 记录的名称,包括服务类型和域名。
  • IN: 记录的类别,表示 Internet 类型。
  • SRV: 记录的类型,表示服务定位记录。
  • <priority>: 优先级,通常设置为 0。
  • <weight>: 权重,通常设置为 0。
  • <port>: MongoDB 服务器的端口号,通常设置为 27017。
  • <target>: 目标主机名,即 MongoDB 服务器的主机名。

假设您将三个节点分别设置为优先级为 0、权重为 0、端口为 27017,并且主机名分别为 node1.example.comnode2.example.comnode3.example.com,则您可以在 DNS 中添加如下的 SRV 记录:

sh 复制代码
_mongodb._tcp.example.com. IN SRV 0 0 27017 node1.example.com.
_mongodb._tcp.example.com. IN SRV 0 0 27017 node2.example.com.
_mongodb._tcp.example.com. IN SRV 0 0 27017 node3.example.com.

添加完 SRV 记录后,就可以在 MongoDB 连接字符串中使用 mongo+srv://example.com 来连接您的 MongoDB 集群了。MongoDB 驱动程序会自动查找 DNS 中的 SRV 记录,并使用其中的地址信息来连接集群。

阿里云配置 SRV 记录

记录类型选择 SRV

记录值配置类似:

sh 复制代码
0 0 27017 node1.example.com

阿里云官方文档 - 域名解析 SRV 记录设置方法

相关推荐
计算机毕设定制辅导-无忧学长43 分钟前
西门子 PLC 与 Modbus 集成:S7-1500 RTU/TCP 配置指南(一)
服务器·数据库·tcp/ip
程序员柳1 小时前
基于微信小程序的校园二手交易平台、微信小程序校园二手商城源代码+数据库+使用说明,layui+微信小程序+Spring Boot
数据库·微信小程序·layui
梦在深巷、2 小时前
MySQL/MariaDB数据库主从复制之基于二进制日志的方式
linux·数据库·mysql·mariadb
IT乌鸦坐飞机2 小时前
ansible部署数据库服务随机启动并创建用户和设置用户有完全权限
数据库·ansible·centos7
IT_10242 小时前
Spring Boot项目开发实战销售管理系统——数据库设计!
java·开发语言·数据库·spring boot·后端·oracle
祁思妙想3 小时前
八股学习(三)---MySQL
数据库·学习·mysql
惊骇世俗王某人3 小时前
1.MySQL之如何定位慢查询
数据库·mysql
秦歌6664 小时前
向量数据库-Milvus快速入门
数据库·milvus
Edingbrugh.南空5 小时前
Flink SQLServer CDC 环境配置与验证
数据库·sqlserver·flink
码不停蹄的玄黓6 小时前
MySQL分布式ID冲突详解:场景、原因与解决方案
数据库·分布式·mysql·id冲突