2013年9月25日星期三

MongoDB的高可用

一个应用的数据源是MongoDB,DBA已经配置了多机的Replication Set,但是在客户端程序用Pymongo连接的时候还指定的是一个IP。结果在网络升级的时候的网络瞬断,让MongoDB自动切换了master,导致客户端连接失败了,出现Master has changed的异常。其实早就计划要修改客户端配置,支持RS的,但是一直没有完成,终于掉进这个坑里面了。

有意思的是,如果MongoDB没有做RS,那么网络瞬断只会让服务短暂不可用,网络恢复的时候服务即可恢复;而服务端做了高可用,客户端没有进行相应的配置,可用性反而降低了。看来在服务端和客户端都进行正确配置的情况下才能实现真正的高可用性。

没有评论:

发表评论