如何格式化Sitecore中MongoDB副本集的连接字符串?

Joj*_*ojo 2 sitecore mongodb sitecore-xdb sitecore8.1

我使用副本集为Sitecore配置了MongoDB.我设置了密钥文件访问控制并添加了一个用户.但是我在创建连接字符串时遇到了问题.

让我们假设我的副本集名称rsHelloWorld有几个mongod实例:localhost:21017,localhost:21018,localhost:21019,localhost:21020,localhost:21021(arbitor)

username: mongo_admin
password: test@123
Run Code Online (Sandbox Code Playgroud)

Sitecore中的默认连接字符串是:

  <add name="analytics" connectionString="mongodb://localhost/analytics" />
Run Code Online (Sandbox Code Playgroud)

如何使用副本集和身份验证为MongoDB数据库指定连接字符串?

Dmy*_*nko 5

Sitecore xDB使用标准的MongoDB 连接字符串格式.

在提供的示例中,连接字符串将是:

mongodb://mongo_admin:test%40123@localhost:21017,localhost:21018,localhost:21019,localhost:21020,localhost:21021/?replicaSet=rsHelloWorld
Run Code Online (Sandbox Code Playgroud)

请注意,我已将@密码中的符号替换为%40.这是因为@连接字符串是凭据和主机名之间的分隔符.在这里查看更多.

另外,请记住,你不具备指定连接字符串中的所有服务器.您需要指定至少一个,并且在连接到它时,xDB将接收有关副本集的完整信息,包括所有数据承载节点的地址.尽管如此,最佳做法是包含多个服务器,以确保如果其中一个服务器发生故障,应用程序仍将找到要连接的服务器.在您的情况下,包括仲裁器没有多大意义,因为xDB(或任何其他MongoDB客户端)将永远不必与它通信.