MongoDB雲上災備:如何快速複製阿里異地災備、多活架構
阿新 • • 發佈:2018-12-21
1. 背景
當前的資料庫系統生態中,大部分系統都支援多個節點例項間的資料同步機制 ,如Mysql Master/Slave主從同步,Redis AOF主從同步等,MongoDB更是支援3節點(及以上)ReplicaSet同步,上述機制很好的支撐了一個邏輯單元的資料冗餘及HA。
跨邏輯單元(3節點例項、主從例項),甚至跨單元、跨資料中心的資料同步,在業務層有時候就顯得很重要,可以支援同城多機房的負載均衡,多機房的互備,甚至是異地多資料中心容災(比如 光纖被挖斷、地震等小概率事件)和多活。
基於以上背景,雲資料庫MongoDB版本正式推出MongoDB例項間的雙向同步產品“MongoDB雲上災備”
產品地址
2. 產品介紹
“MongoDB雲上災備”通過從源資料庫拉取Oplog(Operations Log)資料(其是MongoDB的日誌,所有對資料庫的修改操作都會儲存到oplog中),然後將其傳輸到目的資料庫進行回放實現複製的目的。我們通過構造兩條複製鏈路實現雙向同步的功能,基於此,可以實現災備和多活的功能。
上圖給出了整體複製同步的流程。目前,“MongoDB雲上災備”支援的源、目的資料庫型別為ReplicaSet副本集,Sharding模式即將上線,不支援單節點模式。為了減緩主節點的壓力,系統從備(Secondary)上拉取Oplog。