MongoDB副本集組成成員以及利用java進行讀寫分離時可以選擇的引數
阿新 • • 發佈:2018-12-20
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節點,純粹的備份資料節點。