Foursquare:使用MongoDB Replica Sets的三种架构
来源:互联网 发布:golang mongodb 编辑:程序博客网 时间:2024/03/29 17:59
Foursquare:使用MongoDB Replica Sets的三种架构
MongoDB 的replication机制除了最普通的Master/Slave模式之外,更强大的就是其支持自动故障转移的Replica Sets模式了。相对于其问题多多的auto-sharding机制,Replica Sets还是相对比较稳定。
作为MongoDB使用大户,Foursquare(简称4sq) 在MongoDB使用上有相当丰富的经验,下面是4sq的一篇文章,描述了Replica Sets机制在4sq 中的几种架构方式。
原文链接:Fun with MongoDB replica sets
1.在原有的Master/Slave 机制上添加一台arbiter
4sq 在早期有一些Master/Slave的MongoDB架构,但这种模式不能实现自动的故障转移,需要在发生故障时手动进行切换。在Replica Sets出现后,这种结构被迁移成为三台机器的Replica Sets:一台Primary,一台Secondary,一台Arbiter。
迁移过程:
修改Master和slave的配置,添加如下几项,并重启MongoDB。
replSet=auxdb
fastsync=true
rest=true
fastsync 使得重启动可以使用到原来的数据文件,重启会非常快。然后再在Primary上用rs.add 和 rs.addArb 将Secondary和Arbiter添加上。就算完成了。
2.一个 Primary用于写,多个Secondary用于读和一个Secondary用于备份
在写多读少的应用中,4sq主要使用了Replica Sets来实现读写分离。通过在连接时指定slaveOk,将读操作放到Secondary上,Primary只承担写操作。同时指定一台priority为0,hidden为true的Secondary来进行备份(这样设置后此机器在读写中都不可见,并且不会被选举为Primary)
3.MongoDB经典配置,上层是Auto-Sharding,每个Sharding结点又是一个Replica Sets
虽然4sq在这上面吃过亏,但很明显他们已经吸取了教训并且在更合理更小心的使用Auto-Sharding这一诱人的功能。
- Foursquare:使用MongoDB Replica Sets的三种架构
- mongodb的读写分离使用Replica Sets来实现
- mongodb replica sets搭建及使用
- Mongodb的Replica Sets + Sharding Architect
- mongodb replica sets功能
- Mongodb Replica Sets部署
- MongoDB Replica Sets
- MongoDB Replica Sets
- MongoDB Replica Sets管理
- Mongodb Replica Sets + Sharding 分片集群架构部署
- Mongodb Replica Sets 副本集架构实战 --个人记录
- MongoDB Replica Sets (复制集)
- MongoDB之Replica Sets + Sharding
- Centos配置MongoDb replica sets
- mongodb集群(Shard+Replica Sets)
- MongoDB的Replica Sets的介绍和部署
- Mongodb的Replica Sets实践(适用2.0.5 版本)
- 【你不知道的mongodb】-【Replica Sets操作】
- UltraEdit中java编译运行设置方法
- ffmpeg中available pix_fmts
- MFC对话框最小化到托盘
- 【mentohust】ubuntu12.04 LTS 使用锐捷上网
- 原创:猎头公司信息化方案一、二期
- Foursquare:使用MongoDB Replica Sets的三种架构
- Eclipse下J2ME开发环境的配置
- 删除归档日志文件
- ApacheFTPServer服务器的安装步骤
- Ubuntu下安装sun-java6-jdk和eclipse
- jbpm中流程的执行管理
- mysqldump备份还原和mysqldump导入导出语句大全详解
- 找出面积最大的土地
- 畅想互联网未来