MongoDB副本模式在视频行业的应用实践
2016-09-29 11:37
435 查看
简介
目前NOSQL应用比较广泛的还是Cassandra和MongoDB,而MongoDB由于其丰富的文档以及高效的性能,一直受到广大互联网公司的重用,下面主要是对MongoDB集群方案中的副本集模式(Replica Se)进行应用实践。MongoDB Replica Set是MongoDB官方推荐的主从复制和高可用方案,用于替代原有的Master-Slave主从复制方案。Replicat Set具有自动切换功能,当Primary挂掉之后,可以自动由Replica Set中的某一个Secondary来切换到Primary,以实现高可用的目的。
最近接触的一个项目,主要是面向用户提供视频播放的功能,主要的两类数据,一是用户库,二是节目库,用户库由于要进行实时权限控制,所以查询量也较大;节目库用于实时获得信息,随着用户量的增长,查询了也逐渐增长。
架构
原先的架构,只有一台MongoDB数据库,同时存着这两个主要数据,后来不断出现MongoDB挂机,所以,要对MongoDB进行集群,以对故障进行转移和控制,使之即使某台MongoDB挂机,不会影响到用户的服务,我们采用的就是副本集模式,架构图如下:说明
在上线过程中,基本上没有遇到什么坑,毕竟也是比较成熟的方案,其中:1、 应用服务器,我们在服务端主要有PHP和JAVA两类应用,对于这两类应用,MongoDB都提供了较为完善的接口。需要注意的是,由于采用了副本集模式,所以在连接MongoDB时,就需要把多个服务器都写上去,例如PHP:
$conn = new MongoClient("mongodb://192.168.10.1:27001,192.168.10.2:27002, 192.168.10.3:27003, 192.168.10.4:27004",array("replicaSet" => "users"));
2、 集群服务器,官方建议至少有三台服务器用来集群。当NODE1-PRI主服务器挂机或者失联,那么其他几台SECONDRY服务器会自动筛选出新的PRIMARY服务器,待到NODE1重启后,NODE1将会成为新的SECONDRY服务器,而期间丢失的数据会自动被同步过来。
相关文章推荐
- Spring构建应用系统的最佳架构与模式实践(1)
- Buider模式应用实践
- 【PPT资料】视觉中国的MongoDB应用实践(QConBeijing2011)
- Java:应用Observer接口实践Observer模式
- 观点:移动应用是移动互联网行业主流模式
- 设计模式实践(抽象工厂模式应用)—通信录的优化过程
- 如何掌握并在实践总应用设计模式
- 云计算与行业,第 1 部分: PaaS 最佳实践和模式
- DotNET企业架构应用实践-系统架构与性能-在业务中实例使用缓存与缓存查询-附上视频
- 音视频开发包的行业应用与前景
- 加强主机和应用监控 构筑行业高效网管模式――华能巢湖发电有限责任公司
- GPS 行业应用及其商业模式
- 模式与实践系列课程(视频课程讲师:张大磊)
- 视频行业演绎苹果模式
- Buider模式应用实践
- Java:应用Observer接口实践Observer模式 推荐
- 浅析NAS、iSCSI、NAS SAN在视频行业的应用
- Builder模式应用实践
- 【转】MongoDB开发应用实践(PHP/Perl)
- 音视频开发包的行业应用与未来展望