MongoDB Driver:使用正确的姿势连接复制集
来源:互联网 发布:人工智能研究生专业 编辑:程序博客网 时间:2024/05/29 15:08
点击查看全文
MongoDB复制集(Replica Set)通过存储多份数据副本来保证数据的高可靠,通过自动的主备切换机制来保证服务的高可用。**但需要注意的时,连接副本集的姿势如果不对,服务高可用将不复存在。** 使用复制集时你需要知道的 MongoDB复制集里Primary节点是不固定的,当遇到复制集
MongoDB复制集(Replica Set)通过存储多份数据副本
来保证数据的高可靠,通过自动的主备切换机制
来保证服务的高可用。但需要注意的时,连接副本集的姿势
如果不对,服务高可用将不复存在。
使用复制集时你需要知道的
MongoDB复制集里Primary节点是不固定的,当遇到复制集轮转升级、Primary宕机、网络分区等场景时,复制集可能会选举出一个新的Primary,而原来的Primary则会降级为Secondary,即发生主备切换。
总而言之,MongoDB复制集里Primary节点是不固定的,不固定的,不固定的,重要的事情说3遍。
当连接复制集时,如果直接指定Primary
的地址来连接,当时可能可以正确读写数据的,但一旦复制集发生主备切换,你连接的Primary会降级为Secondary,你将无法继续执行写操作,这将严重影响到你的线上服务。
所以生产环境千万不要直连Primary,千万不要直连Primary,千万不要直连Primary。
说了这么多,到底该如何连接复制集?
正确连接复制集的姿势
要正确连接复制集,需要先了解下MongoDB的Connection String URI,所有官方的driver都支持以Connection String的方式来连接MongoDB。
下面就是Connection String包含的主要内容
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
- mongodb:// 前缀,代表这是一个Connection String
- username:password@ 如果启用了鉴权,需要指定用户密码
- hostX:portX 复制集成员的ip:port信息,多个成员以逗号分割
- /database 鉴权时,用户帐号所属的数据库
- ?options 指定额外的连接选项
以连接AliCloudDB for MongoDB为例,当你购买阿里云MongoDB复制集时,就会得到复制集的名称、以及复制集成员的地址信息。
为了方便用户使用,控制台上也生成了连接复制集的Connection String及通过Mongo Shell连接到命令。
点击查看全文
- MongoDB Driver:使用正确的姿势连接复制集
- MongoDB Driver:使用正确的姿势连接复制集
- MongoDB Driver:使用正确的姿势连接复制集
- MongoDB Driver:连接复制集的正确方式
- MongoDB的正确使用姿势
- Fragment使用的正确姿势
- git 的正确使用姿势
- 使用libcurl的正确姿势
- datasheet 使用的正确姿势
- layout_weight的正确使用姿势
- ActivityLifecycleCallbacks的正确使用姿势
- SharedPreference使用的正确姿势
- 使用layoutinflater的正确姿势
- WWW的正确使用姿势
- 使用layoutinflater的正确姿势
- 枚举使用的正确姿势
- 使用SQLiteOpenHelper的正确姿势
- 动画的正确使用姿势
- 缺页中断
- android api 学习笔记:内容
- HDU 1176 免费馅饼 dp
- 用U盘安装Linux图解
- ASCII码、c++ explicit
- MongoDB Driver:使用正确的姿势连接复制集
- H264学习笔记(1):视频压缩编码的基本原理
- 【Android破解笔记】《迷失岛》内购
- Oracle与Mysql等数据库通用SQL优化技巧
- 一种排序(C语言结构体)
- JavaScript 排序算法(JavaScript sorting algorithms)
- 【PL/SQL】九九乘法口诀表
- 线程的新生到死亡
- 8月14日云栖精选夜读:驱动行业未来20年发展 阿里巴巴AIR视频解说进入倒计时