关于MongoDB java Driver(2.6.5) BUG引申的话题

最近在一直搞Mongodb的主从和集群,从Mongodb官网(http://www.mongodb.org)宕下来Mongodb1.8和最新版的JavaDriver 2.6.5,Mongodb主从可以从这里知晓http://www.mongodb.org/display/DOCS/Replication

Master/Slaver模式由于不能自动切换,所以官方也推荐使用ReplicaSet模式

待主从配置成功后,我们接下来要考虑的就是如何在java端调用mongodb(http://api.mongodb.org/java/2.6.5/)
[img]http://dl.iteye.com/upload/attachment/571465/4504cab5-d654-34e9-8ca4-4edfda6386a3.bmp[/img]
从图片中我们可以看到Mongodb java driver存在帮我们封装了多个IP和端口的参数方法~

接下来可以参考api中的demo,出现了Rare case where master=null...(如果你调用了slaveOk方法),否则出现Can't find a master

翻了半天源码也没理清头绪,索性将jar包换成了2.4的,发现结果一切正常。

这是https://github.com/mongodb/mongo-java-driver/wiki/Release-Notes以前的版本升级说明

之前在用mongodb做统计,策划同学的意思是只需用包括昨日以前的数据,但个人感觉做实时也没问题,由于需求

相对复杂,于是选择了mongodb的mapReduce方案,结果出现两个问题~

1)开发环境使用1.6线上环境使用1.8,1.8的Mongodb不支持1.6的语法,导致出错
2)单台服务器做mapReduce性能非常差,导致了全表搜索直接影响线上业务(暂时没有备份库)

后来只有换套方案才满足了实时的需求~

以上一些事情引申的话题值得思考

1) 作为程序员使用不熟悉的技术之前,有没有必要对技术做相关的培训和学习(这里指的是技术实现的大概原理,不单纯是使用)?

2) 当我们做产品的时候,向下兼容问题是不是需要单独拿出来测试?

3) 讨论下方案在项目和产品中的位置~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值