Tungsten Fabric SDN — SmartNIC vRouter
895
2022-05-29
對 IOT 企業而言,IT 架構升級幾乎是每個發展階段都繞不開的坎。當公司飛速發展,在線業務迅猛增長,服務架構一次次承載沖擊,高性能需求下,巨額成本也相伴而生。要處理翻倍的并發業務,接入層、后端的計算能力均需要加強,相應的緩存 IO 并發壓力也只增不減。如何節省成本保持性能?其實關鍵點在于最底層的數據庫上。
得益于靈活的數據結構和強大的集群擴展能力,文檔數據庫 MongoDB 分片集群架構常被選擇作為發展中 IOT 企業的后端數據庫。
傳統 MongoDB 分片集群是典型的分布式架構,每個分片需要三個節點(Secondary)組成一個副本集提供多副本冗余。不但配置服務器(Config Server)需要耗費三個節點,而且每個分片(Shard Server)也都需要三個節點,且只有一個節點能寫入。
傳統 MongoDB 架構圖
MongoDB 副本集基于 Raft 分布式一致性協議,其中包含了節點主備間選舉、數據同步、Log 追加等技術細節,可以說是根正苗紅。該架構優勢明顯:自動故障接管、數據三副本冗余,最重要的是穩定和可靠。因此對一般 DBA 而言,這種“祖傳”架構,輕易根本不敢動。
然而,MongoDB 副本集架構也決定了其幾乎先天的缺陷:提供三副本存儲的同時,只有單節點可寫,浪費了兩個節點的計算能力。
那么,華為云近期推出的 MongoDB 社區增強版,是如何優化這祖傳架構,將性能大幅提升的呢?
華為云 MongoDB 社區增強版關鍵技術
華為云 MongoDB 社區增強版帶著優化傳統架構、將性價比提升到極致的使命而生,保持三副本存儲,每個節點提供讀寫能力,計算資源不浪費。其中的關鍵技術在業界更是處于主要地位。
放棄復制集,解放所有節點
華為 MongoDB 社區增強版將所有分片節點升級為 primary 提供讀寫能力,這樣相較復制集的相同成本的計算節點,提供了三倍的計算能力。
摒棄 “老傳統“,節省了計算資源,那么如何保證數據的三副本?
存儲計算分離,副本卸載到存儲
在傳統集群計算存儲混合部署的方式中,我們期望越少的數據遷移以獲得更高的資源利用率。然而在帶寬不再稀缺,磁盤計算能力不斷提升的今天,混合部署帶來的木桶效應也相對明顯,造成了集群資源的浪費。
華為云 MongoDB 社區增強版將存儲與計算分離,存儲層作三副本冗余,既保障了數據容災的能力,又節省了計算成本。
做到存儲層三副本冗余,節省了計算資源,還需要有故障接管的能力。
打破副本集,所有Shard Server相互扶持
三節點副本集中出現節點故障,會重新選出領導,領導副本集。當副本集中出現兩個節點故障,整個副本集將無法工作。
華為云 MongoDB 社區增強版節點間沒有副本集主備關系,當一個 Shard Server 出現故障,其他 Shard Server會接管它的數據。
由于存儲層數據共享,接管業務不需要遷移數據,只需要計算層節點從存儲層加載對應數據即可。相比副本集中故障兩個節點就無法工作,MongoDB 社區增強版集群在計算能力允許的情況下,可以容忍 N-1 個節點故障。
了解華為云 MongoDB 社區增強版更多信息,請移步官網:
https://activity.huaweicloud.com/dfv_mongo/index.html
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。