目前我们项目中使用的MongoDBJava客户端版本为2.9.1,这次的读写分离改造是基于2.9.1的。目前MongoDB已经发布了最新的3.0版本,对应的Java客户端是3.0.1,3.0版本在以前MongoDB.8版本上进行了重大的改造,进行了许多的优化和升级,包含插件式的存储引擎(类似于MySQL的架构),硬盘数据压缩,MVCC的支持,复制集升级等等,数据的读写性能都有很大的提升,相应的客户端API也进行升级,3.0.1版本的java客户端与2.9.1版本是完全不一样的,基本可以说是一个新的客户端。
目前的mongodb支持多种读优先的配置(read preference),该配置是针对mongodb中的集群而言的,目前mongo中有两种集群模式,主从以及复制集,这里以复制集作为例子,主从(sharding)支持读优先的原理与复制集类似,只是有细微的区别。目前支持以下几种方式(官方说明):

本文介绍了MongoDB集群中的读优先策略,包括primary、primaryPreferred、secondary、secondaryPreferred和nearest五种模式,并分析了各模式的数据一致性和可用性。在高并发场景下,合理选择读策略对于减轻主节点负载和保障服务稳定性至关重要。文章以MongoDB Java客户端2.9.1版本为例,阐述了如何初始化设置读优先模式,并讨论了为何不选择secondaryPreferred模式的原因。
最低0.47元/天 解锁文章
8350

被折叠的 条评论
为什么被折叠?



