在访问mongodb数据库过程中,还有一些地方需要注意:
1 驱动版本
对于mongodb数据库而言,驱动显得尤为重要,因为驱动实现了很多功能,比如读写分离,连接池管理器等,不稳定的版本会导致应用程序出现各种意外故障,影响服务可用性。
如果研发同学和应用运维同学不熟悉驱动,可以在DBA的建议下选择稳定版本
2 读优先策略
读优先策略表示应用程序在读取数据时,驱动优先返回主库还是从库。
建议:一般情况下设置为就近优先(NEAREST);如果需要读写分离,可以设置为从库优先(SECONDARY_PREFERRED);如果对一致性要求很高的话,知会DBA,确认主库负载后,可以设置为主库优先(PRIMARY_PREFERRED),由于一般情况下主从同步没有延迟,所以,也是不推荐这种设置的。
不建议设置为只读主库(PRIMARY)或者只读从库(SECONDARY)。
3 集群号
对于mongodb副本集,如果是php程序,需要在配置中设置集群号replicaSet),如果是java程序,不需要设置
对于mongodb sharding集群,无论jiava还是php,均不需要设置集群号。
4 auth db
为了安全起见,mongodb集群一般是开启认证的。如果认证用户具有全局权限,auth db是admin;否则auth db是业务数据库。
5 访问ip
在程序配置中,只需要设置mongodb ip信息,不需要区分主库和从库,因为驱动自动根据读写类型和读优先策略返回正确的链接,这一点是和mysql,redis都不一样的地方。
对于驱动,程序配置设置1个或者多个ip,没有本质区别,但是,为了保证高可用,建议配置2个或者2个以上的mongodb ip信息。
原文:http://blog.itpub.net/30341463/viewspace-1730045/