国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Mongo集群架構分析

2019-11-08 20:38:11
字體:
來源:轉載
供稿:網友

集群組件——單機實例(mongod instance)

只有一個單機實例,客戶端與其直接連接使用。 單實例

集群組件——副本集(Replica sets)

副本集通常由至少3個節點組成。其中一個是主節點,負責處理客戶端請求,其余的都是從節點,負責復制主節點上的數據。 mongodb各個節點常見的搭配方式為:一主多從(正常情況下至少3個節點組成副本集)。 主節點記錄在其上的所有操作,從節點定期輪詢主節點獲取這些操作,然后對自己的數據副本執行這些操作,從而保證從節點的數據與主節點一致。 選舉機制:當一個節點掛掉之后需要滿足“大多數”成員投票,如果不滿足大多數的話,會造成多個節點成為主節點。通常節點之間通信斷掉之后,會認為其他節點不可用,如果5個節點的副本集,其中3個與另外兩個不在同一個機房,當兩個機房通信斷開時,兩個節點的機房認為其他3個節點多掛了,就會開始選舉。這個時候其他3個節點其實是可用的只是與另外兩個節點斷開而已,這個時候就會出現2個主節點。 這里寫圖片描述

集群組件——分片(Sharding)

分片是將一個集合的數據分別存儲在不同的shard節點上減輕單機壓力 Shard Keys 的選擇很重要,MongoDB主要根據Shard Keys來劃分數據,Shard Keys可以由文檔的一個或者多個物理鍵值組成,對于分片Key的選定直接決定了集群中數據分布是否均衡、集群性能是否合理。 這里寫圖片描述

集群組件——路由服務器(mongos)

路由服務器負責把對應的數據請求請求轉發到對應的shard服務器上 mongos,數據庫集群請求的入口,所有的請求都通過mongos進行協調,不需要在應用程序添加一個路由選擇器,mongos自己就是一個請求分發中心,它負責把對應的數據請求請求轉發到對應的shard服務器上。在生產環境通常有多mongos作為請求的入口,防止其中一個掛掉所有的mongodb請求都沒有辦法操作。 這里寫圖片描述

集群組件——配置服務器(mongos)

存儲所有數據庫元信息(路由、分片)的配置。mongos本身沒有物理存儲分片服務器和數據路由信息,只是緩存在內存里,配置服務器則實際存儲這些數據。 配置服務器相當與集群大腦,存儲所有數據庫元信息(路由、分片)的配置。mongos本身沒有物理存儲分片服務器和數據路由信息,只是緩存在內存里,配置服務器則實際存儲這些數據。mongos第一次啟動或者關掉重啟就會從 config server 加載配置信息,以后如果配置服務器信息變化會通知到所有的 mongos 更新自己的狀態,這樣 mongos 就能繼續準確路由。在生產環境通常有多個 config server 配置服務器,因為它存儲了分片路由的元數據,這個可不能丟失!就算掛掉其中一臺,只要還有存貨, mongodb集群就不會掛掉。 這里寫圖片描述

集群組件——集群架構

一個典型的集群結構如下: 這里寫圖片描述 集群的組成: 單機mongod 組成副本集 -> 分片, 客戶端通過mongos 讀取 config servers的信息與分片通信,客戶端程序感覺不到集群的存在,他只需要知道mongos服務器的ip和連接方式,至于它有多少個集群ip 都不需要關注,mongos 會自動選擇。

Shards

每一個shard包括一個或多個服務和存儲數據的mongod進程(mongod是MongoDB數據的核心進程),典型的每個shard開啟多個服務來提高服務的可用性。這些服務/mongod進程在shard中組成一個復制集。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泸西县| 岚皋县| 神木县| 临桂县| 始兴县| 文登市| 朝阳县| 忻州市| 溆浦县| 崇文区| 庆元县| 托里县| 阜新市| 大田县| 毕节市| 崇州市| 新巴尔虎左旗| 利津县| 广元市| 泸水县| 揭西县| 蓝山县| 瑞金市| 双鸭山市| 张家界市| 察哈| 武鸣县| 宁夏| 利川市| 罗山县| 宣威市| 磐石市| 济阳县| 九龙坡区| 鄢陵县| 西昌市| 通江县| 吉隆县| 福州市| 德钦县| 蕲春县|