所有官方的 MongoDB driver 都支持以 Connection String 的方式来连接 MongoDB 分片集群。
下面就是 Connection String 包含的主要内容:
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
MongoClientURI connectionString = new MongoClientURI("mongodb://:****@s-m5e80a9241323604.mongodb.rds.aliyuncs.com:3717,s-m5e053215007f404.mongodb.rds.aliyuncs.com:3717/admin"); // ****替换为root密码
MongoClient client = new MongoClient(connectionString);
MongoDatabase database = client.getDatabase("mydb");
MongoCollection<Document> collection = database.getCollection("mycoll");
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在使用阿里云的云数据库MongoDB版时,通过Connection String连接分片集群确实是一种高效且灵活的方式。您已经概述了如何构建Connection String以及一些关键参数的作用,这里我补充一些与阿里云平台特性和最佳实践相关的信息。
获取Connection String: 在阿里云控制台上,对于每个创建的MongoDB实例(包括分片集群),系统都会自动生成一个推荐的Connection String,您可以直接从实例详情页面复制该字符串用于应用程序的配置。这会包含必要的认证信息、地址和端口等。
安全组设置: 确保您的应用服务器所在的ECS实例或网络能够访问MongoDB实例开放的端口。在阿里云中,这通常涉及到安全组规则的配置,确保入方向规则允许来自应用服务器IP的流量。
VPC与专有网络: 如果您的MongoDB实例部署在VPC内,确保您的应用服务也在同一VPC或通过高速通道连接的VPC内,以实现私网通信,提高安全性并减少公网延迟。
监控与报警: 利用阿里云提供的监控服务为您的MongoDB实例设置性能指标监控和报警策略,及时发现并处理潜在问题。
备份与恢复: 了解阿里云云数据库MongoDB版的自动备份策略,并根据需要配置备份周期和保留时间。同时,熟悉数据恢复流程,以便在数据丢失或误操作时快速恢复。
读写分离:
?readPreference=secondaryPreferred
这将使得读请求优先路由到Secondary节点,减轻Primary的压力,实现读写分离。
连接池大小限制:
?maxPoolSize=100
根据应用的实际需求调整连接池大小,避免资源浪费或因连接数过多导致的性能瓶颈。
写操作确认策略:
?w=majority&wtimeoutMS=5000
这表示写操作需等待大多数节点确认后才返回成功,wtimeoutMS
设置了超时时间,防止写操作无限期等待。
结合阿里云平台的强大功能和管理工具,您可以更加便捷地管理和优化您的MongoDB分片集群。