1. 程式人生 > >MongoDB副本集組成成員以及利用java進行讀寫分離時可以選擇的引數

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節點,純粹的備份資料節點。