簡體   English   中英

Mongo ReplicaSet解釋

[英]Mongo ReplicaSet explain

我是mongo復制的新手。

我有兩個服務器,在一個服務器上設置一個主服務器,在另一個服務器上設置輔助服務器。

我正在使用springspring-data開發一個Web應用程序,並且使用該xml配置訪問mongo:

<mongo:mongo id="mongoConnection" replica-set="IP-Primary:27017,IP-Secondary:27017">
        <mongo:options
            connections-per-host="100"
            threads-allowed-to-block-for-connection-multiplier="50"
            connect-timeout="10000"
            max-wait-time="50000"
            slave-ok="true"
            auto-connect-retry="true"
            write-number="1"
            write-timeout="0"
            write-fsync="false"/>
</mongo:mongo>
<beans:bean id="mongoWriteConcern" class="com.mongodb.WriteConcern">
    <beans:constructor-arg type="int" name="w" value="2"/></beans:bean> 
<beans:bean id="mongoCredentials"
    class="org.springframework.data.authentication.UserCredentials">
    <beans:constructor-arg name="username" value="xxx" />
    <beans:constructor-arg name="password" value="yyy" />
</beans:bean>
<beans:bean id="myTemplate"
    class="org.springframework.data.mongodb.core.MongoTemplate">
    <beans:constructor-arg ref="mongoConnection" />
    <beans:constructor-arg name="databaseName" value="dbName" />
    <beans:constructor-arg name="userCredentials" ref="mongoHotelCredentials" />
    <beans:property name="writeConcern" ref="mongoWriteConcern"/>
</beans:bean>

能否請人解釋一下副本集上的流程是什么?

它將首先在主節點上寫入,然后自動將主節點寫入輔助節點嗎?

如果當前的主數據庫不可用,框架是否會檢查與每個數據庫的成功連接並“選出”一個主數據庫(因此選擇輔助數據庫作為主數據庫)? 如果是,當主節點再次返回時會發生什么?

謝謝!

復制的基本流程:

您的應用程序(客戶端)寫入副本集的主副本。 寫操作存儲在日志文件(oplog)中,並且oplog通過“鏈式復制”(默認)或從最近的成員復制到輔助副本(可配置),請參見此處http://docs.mongodb.org/manual/tutorial/管理鏈接復制/

“它將首先在主數據庫上寫入,然后自動將主數據庫寫入輔助數據庫嗎?”

寫入到主服務器,存儲在oplog中,oplog復制到輔助服務器,然后寫入應用於輔助服務器。 它是自動的,但是您必須考慮網絡延遲。 延遲因素包括主節點和輔助節點之間的距離,以及防火牆等障礙。 您可以通過MongoDB的復制進行很多操作,例如,更高的writeConcern設置以提高一致性(以吞吐量為代價),將延遲的輔助節點配置為充當備份,為每個輔助節點選擇選舉優先級(對多數據中心有用)等。

“如果當前的主數據庫不可用,框架是否會檢查與每個數據庫的成功連接,並“選擇”一個主數據庫(因此選擇輔助數據庫作為主數據庫?如果是,當主數據庫再次出現時會發生什么?)

副本集的成員之間存在“心跳”。 如果某個成員掉線,則其他成員將在10-30秒內檢測到丟失心跳,並將該成員標記為不可用。 如果下成員是主要成員,則將進行選舉過程,並選舉出新的主要成員。 重要的是要保持“奇數”的成員數量(3、5、7 ...最多12個成員,而有7個投票成員) http://docs.mongodb.org/manual/core/replica-set-architecture-四人/

當關閉的主服務器恢復正常后,它將成為輔助服務器,其中未處理的操作(未應用到輔助服務器的操作)存儲在“ rollback”文件夾中,這些操作必須手動應用回數據庫或丟棄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM