MongoDB副本模式在视频行业的应用实践

简介

目前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服务器,而期间丢失的数据会自动被同步过来。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值