a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 數(shù)據(jù)庫(kù) > MongoDB > 正文

一文帶你搞明白MongoDB分布式集群

2024-09-07 00:22:36
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
      本文給大家介紹的關(guān)于MongoDB分布式集群的內(nèi)容,要想更好的運(yùn)用MongoDB,對(duì)MongoDB分布式集群的充分了解是有必要的,下面就跟隨小編深入了解MongoDB 分布式集群吧。
 
       在分布式應(yīng)用系統(tǒng)中,mongodb 已經(jīng)成為 NoSQL 經(jīng)典數(shù)據(jù)庫(kù)。要想很好的使用 mongodb,僅僅知道如何使用它是不夠的。只有對(duì)其架構(gòu)原理等有了充分認(rèn)識(shí),才能在實(shí)際運(yùn)用中使其更好地服務(wù)于應(yīng)用,遇到問(wèn)題知道怎么處理,而不是抓瞎抹黑。
 
       集群概覽
 
       mongodb 相關(guān)的進(jìn)程分為三類:
 
mongo 進(jìn)程 -C 該進(jìn)程是 mongodb 提供的 shell 客戶端進(jìn)程,通過(guò)該客戶端可以發(fā)送命令并操作集群;
mongos 進(jìn)程 -C mongodb 的路由進(jìn)程,負(fù)責(zé)與客戶端連接,轉(zhuǎn)發(fā)客戶端請(qǐng)求到后端集群,對(duì)客戶端屏蔽集群內(nèi)部結(jié)構(gòu);
mongod 進(jìn)程 -C 提供數(shù)據(jù)讀寫的 mongodb 實(shí)例進(jìn)程。
 
柜臺(tái)服務(wù)員接受客戶的保單業(yè)務(wù)請(qǐng)求(mongos 路由節(jié)點(diǎn)接收客戶端的操作請(qǐng)求);
柜臺(tái)服務(wù)員查詢文件目錄系統(tǒng)查看該保單應(yīng)該保存到哪個(gè)倉(cāng)庫(kù)(mongos 節(jié)點(diǎn)與 config 配置節(jié)點(diǎn)通信,查詢相關(guān)操作數(shù)據(jù)在哪個(gè)分片節(jié)點(diǎn));
知道哪個(gè)倉(cāng)庫(kù)后,柜臺(tái)服務(wù)員將保單給倉(cāng)庫(kù)管理員,倉(cāng)庫(kù)管理員將保單放到指定倉(cāng)庫(kù)中(mongos 節(jié)點(diǎn)將請(qǐng)求發(fā)送給數(shù)據(jù)所在分片節(jié)點(diǎn),分片節(jié)點(diǎn)進(jìn)行讀寫處理)。
       mongos 路由服務(wù)
 
       mongos 服務(wù)類似網(wǎng)關(guān),連接 mongodb 集群與應(yīng)用程序,對(duì)外屏蔽 mongodb 內(nèi)部結(jié)構(gòu),應(yīng)用程序只需要將請(qǐng)求發(fā)送給 mongos,而無(wú)需關(guān)心集群內(nèi)部副本分片等信息。
 
       mongos 本身不保存數(shù)據(jù)與索引信息,它通過(guò)查詢 config 配置服務(wù)來(lái)獲取,所以可以考慮將 mongos 與應(yīng)用程序部署在同一臺(tái)服務(wù)器上,當(dāng)服務(wù)器宕機(jī)時(shí) mongos 也一起失效,防止出現(xiàn) mongos 閑置。
 
       mongos 節(jié)點(diǎn)也可以是單個(gè)節(jié)點(diǎn),但為了高可用,一般部署多個(gè)節(jié)點(diǎn)。就像柜臺(tái)服務(wù)員一樣,可以有多個(gè),相互之間沒(méi)有主備關(guān)系,都可以獨(dú)立處理業(yè)務(wù)。
 
       需要注意的是,在開啟分片的情況下,應(yīng)用程序應(yīng)該避免直接連接分片節(jié)點(diǎn)進(jìn)行數(shù)據(jù)修改,因?yàn)檫@種情況下很可能造成數(shù)據(jù)不一致等嚴(yán)重后果,而是通過(guò) mongos 節(jié)點(diǎn)來(lái)操作。
 
       config 配置服務(wù)
 
       config 配置節(jié)點(diǎn)本質(zhì)也是一個(gè)副本集,副本集中存放集群的元數(shù)據(jù),如各個(gè)分片上的數(shù)據(jù)塊列表,數(shù)據(jù)范圍,身份驗(yàn)證等信息。如下,可以看到數(shù)據(jù)庫(kù) config,數(shù)據(jù)庫(kù)中集合保存了集群的重要元數(shù)據(jù)。
 
mongos> use config;
switched to db config
mongos> show collections;
changelog
chunks
collections
databases
lockpings
locks
migrations
mongos
shards
tags
transactions
version
       一般情況下,用戶不應(yīng)該直接變更 config 的數(shù)據(jù),否則很可能造成嚴(yán)重后果。
 
 
       所以副本集是一個(gè)縱向概念,描述的是相同的數(shù)據(jù)存儲(chǔ)在多個(gè)節(jié)點(diǎn)上;而分片是一個(gè)橫向概念,描述的是全量數(shù)據(jù)被切成不同的片段,每個(gè)片段獨(dú)立存儲(chǔ)。這個(gè)片段就是分片,而分片通過(guò)副本集進(jìn)行存儲(chǔ)。
 
       副本集
 
       副本集包含三種角色:
 
主節(jié)點(diǎn)(Primary)
副節(jié)點(diǎn)(Secondary)
仲裁節(jié)點(diǎn)(Arbiter)
       一個(gè)副本集由一個(gè)主節(jié)點(diǎn),多個(gè)副節(jié)點(diǎn),0或多個(gè)仲裁節(jié)點(diǎn)組成。
 
       主節(jié)點(diǎn)與副節(jié)點(diǎn)是數(shù)據(jù)節(jié)點(diǎn)。主節(jié)點(diǎn)提供數(shù)據(jù)的寫操作,數(shù)據(jù)寫到主節(jié)點(diǎn)后,會(huì)通過(guò)同步機(jī)制同步到副節(jié)點(diǎn)上。默認(rèn)讀操作也由主節(jié)點(diǎn)提供,但是可以手動(dòng)設(shè)置 read preference,優(yōu)先從副節(jié)點(diǎn)讀取。
 
       仲裁節(jié)點(diǎn)不是數(shù)據(jù)節(jié)點(diǎn),不存儲(chǔ)數(shù)據(jù),也不提供讀寫操作。仲裁節(jié)點(diǎn)是作為投票者存在,當(dāng)主節(jié)點(diǎn)異常需要進(jìn)行切換時(shí),仲裁節(jié)點(diǎn)有投票權(quán),但沒(méi)有被投票權(quán)。仲裁節(jié)點(diǎn)可以在資源有限的情況下,依然支持故障恢復(fù)。比如只有2個(gè)節(jié)點(diǎn)的硬盤資源,在這種情況下可以增加一個(gè)不占存儲(chǔ)的仲裁節(jié)點(diǎn),組成“一主一副一仲裁”的副本集架構(gòu),當(dāng)主節(jié)點(diǎn)宕掉時(shí),副節(jié)點(diǎn)能夠自動(dòng)切換。
 
       節(jié)點(diǎn)間通過(guò)“心跳”進(jìn)行溝通,以此知道彼此的狀態(tài)。當(dāng)主節(jié)點(diǎn)異常不可用時(shí),從其他有被投票權(quán)的節(jié)點(diǎn)中投票選出一個(gè)升級(jí)為主節(jié)點(diǎn),繼續(xù)保持服務(wù)高可用。這里投票采取“大多數(shù)”原則,即需要多于總節(jié)點(diǎn)數(shù)一半的節(jié)點(diǎn)同意,才能被選舉成主節(jié)點(diǎn)。也因此不建議采用偶數(shù)個(gè)節(jié)點(diǎn)組成副本集,因?yàn)榕紨?shù)情況下,如果發(fā)生半數(shù)節(jié)點(diǎn)網(wǎng)絡(luò)隔離,隔離的半數(shù)節(jié)點(diǎn)達(dá)不到“大多數(shù)”的要求,無(wú)法選舉產(chǎn)生新的主節(jié)點(diǎn)。

(編輯:武林網(wǎng))

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 99精品久久久久久 | 特大毛片 | 国产一区二区黑人欧美xxxx | 日韩亚洲视频 | 中文字幕不卡 | www.久久.com| 亚洲精品v | 曰韩毛片| 久久久久久国产精品免费免费 | 国产欧美一区二区精品婷婷 | 国产精品国产精品国产专区不卡 | 青草青草久热精品视频在线观看 | 精品国产一区二区三区四区 | 99国内精品久久久久久久 | 中文字幕亚洲在线观看 | 黄色一级毛片 | 免费的国产视频 | 黄色片视频网站 | 亚洲 欧美日韩 国产 中文 | 国产三级自拍 | 国产精品久久久久久网站 | 国产精品无 | 亚洲国产婷婷香蕉久久久久久99 | 国产在线精品二区 | 国产一区在线看 | www.国产.com | 亚洲成人aaa | 97精品在线 | 色在线免费观看 | 国产在线日韩 | 91伊人| 亚洲欧美精品 | 国产精品久久国产愉拍 | 色www精品视频在线观看 | 久久精品国产视频 | 按摩高潮japanesevideo| 欧美一级爆毛片 | 青青免费视频 | 日韩成人精品 | 特黄视频 | 在线观看日韩一区 |