MongoDB副本集组成成员以及利用java进行读写分离时可以选择的参数

MongoDB副本集利用java进行读写分离时,参数有:

primary:默认参数,只从主节点上进行读取操作; 
primaryPreferred:大部分从主节点上读取数据,只有主节点不可用时从secondary节点读取数据。 
secondary:只从secondary节点上进行读取操作,存在的问题是secondary节点的数据会比primary节点数据“旧”。 
secondaryPreferred:优先从secondary节点进行读取操作,secondary节点不可用时从主节点读取数据; 
nearest:不管是主节点、secondary节点,从网络延迟最低的节点上读取数据。

例如:

ReadPreference preference = ReadPreference. secondary();  

MongoClientOptions.Builder build = new MongoClientOptions.Builder();

build.readPreference(secondary);

    MongoDB副本集的组成成员:

  • 主节点
  • 副本节点
  • 仲裁节点
  • Secondary-Only:不能成为primary节点,只能作为secondary副本节点,防止一些性能不高的节点成为主节点。 
  • Hidden:这类节点是不能够被客户端制定IP引用,也不能被设置为主节点,但是可以投票,一般用于备份数据。 
  • Delayed:可以指定一个时间延迟从primary节点同步数据。主要用于备份数据,如果实时同步,误删除数据马上同步到从节点,恢复又恢复不了。 
  • Non-Voting:没有选举权的secondary节点,纯粹的备份数据节点。

你可能感兴趣的:(MongoDB副本集组成成员以及利用java进行读写分离时可以选择的参数)