国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Golang mgo驅(qū)動(dòng)指定Mongo服務(wù)器讀取

rollback / 713人閱讀

摘要:搭建服務(wù)器采用搭建,可參考讀模式的讀模式共有五種在主節(jié)點(diǎn)上進(jìn)行所有的讀操作優(yōu)先在主節(jié)點(diǎn)上進(jìn)行讀操作,如果主節(jié)點(diǎn)不可用,再?gòu)膹墓?jié)點(diǎn)操作。

Replica Sets搭建

服務(wù)器采用Replica Sets搭建,可參考Deploy a Replica Set

讀模式

Mongod的讀模式共有五種:

primary. 在主節(jié)點(diǎn)上進(jìn)行所有的讀操作

primaryPreferred. 優(yōu)先在主節(jié)點(diǎn)上進(jìn)行讀操作,如果主節(jié)點(diǎn)不可用,再?gòu)膹墓?jié)點(diǎn)操作。

secondary.所有的讀操作在從節(jié)點(diǎn)上進(jìn)行。

secondaryPreferred.優(yōu)先在從節(jié)點(diǎn)進(jìn)行讀操作,如果所有從節(jié)點(diǎn)都不可用,再?gòu)闹鞴?jié)點(diǎn)操作。

nearest. 根據(jù)網(wǎng)絡(luò)延遲時(shí)間 ,就近進(jìn)行讀操作,不考慮節(jié)點(diǎn)類型。

配置節(jié)點(diǎn)Tags Sets

Tag sets 允許指定一個(gè)replica set進(jìn)行讀操作,其中Mongod的讀模式必須是以下四種之一:
primaryPreferredsecondarysecondaryPreferrednearest
Tags Sets配置參考:Configure Replica Set Tag Sets
主要操作如下:

conf = rs.conf()
conf.members[0].tags = { "dc": "east", "use": "production"  }
conf.members[1].tags = { "dc": "east", "use": "reporting"  }
conf.members[2].tags = { "use": "production"  }
rs.reconfig(conf)
mgo代碼示例

根據(jù)以上的配置,如果需要指定從members 1中進(jìn)行數(shù)據(jù)庫(kù)讀操作,可采取以下代碼:

session, err := mgo.Dial("localhost")
if err != nil {
    log.Fatalln(err)
}
defer session.Close()
session.SetMode(mgo.Eventual, true) //需要指定為Eventual
session.SelectServers(bson.D{{"dc", "east"}, {"use", "reporting"}}) // 指定從1中讀取
db := session.DB("test")
col := db.C("tbl")
data := make([]interface{}, 10)
col.Find(nil).Limit(10).All(&data)
log.Println(data)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/18714.html

相關(guān)文章

  • golang基礎(chǔ)學(xué)習(xí)-MongoDB使用

    摘要:如果刪除所有用替換其他寫了一個(gè)和結(jié)合的數(shù)據(jù)查詢服務(wù)細(xì)節(jié)可點(diǎn)擊鏈接到查看 1.系統(tǒng)環(huán)境 Golang:go version go1.10.3 darwin/amd64 OS:MacOS MongoDB: version: 3.4.4 2.Golang使用MongoDB 使用:gopkg.in/mgo.v2 獲取包:go get gopkg.in/mgo.v2 引入:impor...

    LinkedME2016 評(píng)論0 收藏0
  • 用Go語(yǔ)言借助mgo實(shí)現(xiàn)一個(gè)對(duì)MongoDB進(jìn)行增刪改查的demo

    摘要:準(zhǔn)備數(shù)據(jù)結(jié)構(gòu)這個(gè)以對(duì)一個(gè)簡(jiǎn)單的通訊錄進(jìn)行插入查詢更新刪除記錄為例,中包含和兩個(gè)字段下載還沒(méi)出官方的驅(qū)動(dòng)包,是現(xiàn)在比較流行的第三方包,能找到的相關(guān)資料也比較多。準(zhǔn)備實(shí)現(xiàn)對(duì)的增刪改查操作,先想了下怎么寫測(cè)試案例。查找,通過(guò)查找該條記錄。 環(huán)境聲明:go version go1.11MongoDB server version 4.0.3 背景 這是我第一次接觸golang和MongoDB,...

    Jingbin_ 評(píng)論0 收藏0
  • Golang服務(wù)教程(三)

    摘要:本節(jié)將學(xué)習(xí)來(lái)統(tǒng)一管理和部署微服務(wù),引入第三個(gè)微服務(wù)并進(jìn)行存儲(chǔ)數(shù)據(jù)。到目前為止,要想啟動(dòng)微服務(wù)的容器,均在其中的同時(shí)設(shè)置其環(huán)境變量,服務(wù)多了以后管理起來(lái)十分麻煩。 譯文鏈接:wuYin/blog原文鏈接:ewanvalentine.io,翻譯已獲作者 Ewan Valentine 授權(quán)。 本文完整代碼:GitHub 在上節(jié)中,我們使用 go-micro 重新實(shí)現(xiàn)了微服務(wù)并進(jìn)行了 Doc...

    Drummor 評(píng)論0 收藏0
  • golang -- mgo解析各種數(shù)據(jù)類型分析

    摘要:無(wú)法打開和都是,也就是說(shuō)它們可以指向任意類型,此時(shí)是指向結(jié)構(gòu)的指針是具體此時(shí)是指針,指向的類型是會(huì)把當(dāng)成對(duì)待所有域的信息都會(huì)輸出來(lái)此時(shí)是指向結(jié)構(gòu)的指針只有確定了類型后,才會(huì)當(dāng)成具體類型只有確定了類型后,才會(huì)當(dāng)成具體類型輸出結(jié)果如下 package main import ( gopkg.in/mgo.v2 log reflect ) func main() ...

    xcold 評(píng)論0 收藏0
  • 利用mongo的findAndModify原子性操作實(shí)現(xiàn)auto increment ID

    摘要:實(shí)際情況默認(rèn)情況下,使用自動(dòng)生成,而且在自帶的命令里,無(wú)法指定一個(gè)自增字段。自增字段在多線程時(shí)必須是原子性的,這在大數(shù)據(jù)情況下很難實(shí)現(xiàn)伸縮性。而且,在里面,有一個(gè)命令是原子性的。代碼如下無(wú)法打開創(chuàng)建個(gè)模擬多線程環(huán)境輸出查詢結(jié)果 實(shí)際情況 默認(rèn)情況下,mongo使用_id自動(dòng)生成uniq id,而且在mongo自帶的命令里,無(wú)法指定一個(gè)自增字段。自增字段在多線程時(shí)必須是原子性的,這在大數(shù)...

    genedna 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<