在副本集Replica Set中才涉及到ReadPreference的設(shè)置,默認(rèn)情況下,讀寫(xiě)都是分發(fā)都Primary節(jié)點(diǎn)執(zhí)行,但是對(duì)于寫(xiě)少讀多的情況,我們希望進(jìn)行讀寫(xiě)分離來(lái)分?jǐn)倝毫Γ韵M褂肧econdary節(jié)點(diǎn)來(lái)進(jìn)行讀取,Primary只承擔(dān)寫(xiě)的責(zé)任(實(shí)際上寫(xiě)只能分發(fā)到Primary節(jié)點(diǎn),不可修改)。
為灌陽(yáng)等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及灌陽(yáng)網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站制作、灌陽(yáng)網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
MongoDB有5種ReadPreference模式:
primary
主節(jié)點(diǎn),默認(rèn)模式,讀操作只在主節(jié)點(diǎn),如果主節(jié)點(diǎn)不可用,報(bào)錯(cuò)或者拋出異常。
primaryPreferred
選主節(jié)點(diǎn),大多情況下讀操作在主節(jié)點(diǎn),如果主節(jié)點(diǎn)不可用,如故障轉(zhuǎn)移,讀操作在從節(jié)點(diǎn)。
secondary
從節(jié)點(diǎn),讀操作只在從節(jié)點(diǎn), 如果從節(jié)點(diǎn)不可用,報(bào)錯(cuò)或者拋出異常。
secondaryPreferred
選從節(jié)點(diǎn),大多情況下讀操作在從節(jié)點(diǎn),特殊情況(如單主節(jié)點(diǎn)架構(gòu))讀操作在主節(jié)點(diǎn)。
nearest
最鄰近節(jié)點(diǎn),讀操作在最鄰近的成員,可能是主節(jié)點(diǎn)或者從節(jié)點(diǎn)。
Spring中的設(shè)置ReadPreference:
<!-- mongodb配置 --> <mongo:mongo id="mongo" host="${mongo.host}" port="${mongo.port}" write-concern="NORMAL" > <mongo:options connections-per-host="${mongo.connectionsPerHost}" threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}" connect-timeout="${mongo.connectTimeout}" max-wait-time="${mongo.maxWaitTime}" auto-connect-retry="${mongo.autoConnectRetry}" socket-keep-alive="${mongo.socketKeepAlive}" socket-timeout="${mongo.socketTimeout}" slave-ok="${mongo.slaveOk}" write-number="1" write-timeout="0" write-fsync="false" /> </mongo:mongo> <!-- mongo的工廠(chǎng),通過(guò)它來(lái)取得mongo實(shí)例,dbname為mongodb的數(shù)據(jù)庫(kù)名,沒(méi)有的話(huà)會(huì)自動(dòng)創(chuàng)建 --> <mongo:db-factory id="mongoDbFactory" dbname="uba" mongo-ref="mongo" /> <!-- 讀寫(xiě)分離級(jí)別配置 --> <!-- 選主節(jié)點(diǎn),大多情況下讀操作在主節(jié)點(diǎn),如果主節(jié)點(diǎn)不可用,如故障轉(zhuǎn)移,讀操作在從節(jié)點(diǎn)。 --> <bean id="primaryPreferredReadPreference" class="com.mongodb.TaggableReadPreference.PrimaryPreferredReadPreference" /> <!-- 最鄰近節(jié)點(diǎn),讀操作在最鄰近的成員,可能是主節(jié)點(diǎn)或者從節(jié)點(diǎn)。 --> <bean id="nearestReadPreference" class="com.mongodb.TaggableReadPreference.NearestReadPreference" /> <!-- 從節(jié)點(diǎn),讀操作只在從節(jié)點(diǎn), 如果從節(jié)點(diǎn)不可用,報(bào)錯(cuò)或者拋出異常。存在的問(wèn)題是secondary節(jié)點(diǎn)的數(shù)據(jù)會(huì)比primary節(jié)點(diǎn)數(shù)據(jù)舊。 --> <bean id="secondaryReadPreference" class="com.mongodb.TaggableReadPreference.SecondaryReadPreference" /> <!-- 優(yōu)先從secondary節(jié)點(diǎn)進(jìn)行讀取操作,secondary節(jié)點(diǎn)不可用時(shí)從主節(jié)點(diǎn)讀取數(shù)據(jù) --> <bean id="secondaryPreferredReadPreference" class="com.mongodb.TaggableReadPreference.SecondaryPreferredReadPreference" /> <!-- mongodb的主要操作對(duì)象,所有對(duì)mongodb的增刪改查的操作都是通過(guò)它完成 --> <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" /> <property name="readPreference" ref="primaryPreferredReadPreference" /> </bean>另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
分享題目:【MongoDB】ReadPreference讀偏好-創(chuàng)新互聯(lián)
當(dāng)前地址:http://muchs.cn/article38/pgcpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、域名注冊(cè)、外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容