天天看點

知識加油站 | OCP 多叢集模式如何實作跨城雙機房容災呢?

知識加油站 | OCP 多叢集模式如何實作跨城雙機房容災呢?

在之前的文章中,我們為您介紹過 OceanBase 叢集的高可用性,戳這裡回顧:

【OB小藍科創館】3分鐘揭秘 OceanBase 資料庫特性——高可用!

OceanBase 叢集的高可用部署方案采用了分布式選舉、多副本日志同步和節點故障的處理政策,可以通過三地五中心的部署模式,實作地域級容災。那麼當隻在兩個城市中有機房的時候,如何實作地域級容災呢?

OceanBase Cloud Platform 雲平台(下文簡稱 OCP)多叢集部署模式,支援實作跨城雙機房容災!

什麼是 OCP 多叢集模式

為更加可靠地提供服務,OCP Server 通常部署多個執行個體,這些OCP Server 執行個體,共用一套 MetaDB 和MonitorDB,我們稱這個整體為OCP 叢集。

OCP 多叢集模式是指在兩個城市中部署多個 OCP 叢集,當兩地網絡故障時,可為您提供 OCP 主備叢集切換能力,并且不會影響該 OCP 多叢集下的 OceanBase 叢集正常運維,進而實作跨城雙機房容災。那麼我們來看看,OCP 多叢集模式是如何做到呢?

知識加油站 | OCP 多叢集模式如何實作跨城雙機房容災呢?

OCP 多叢集模式支援跨城容災

當需要在兩個城市分别部署 OceanBase 主備叢集時,可采用 OCP 叢集跨城雙機房部署方式,當其中的一個城市的 OCP 叢集發生故障時,另一個 OCP 叢集将會承擔起對 OceanBase 叢集的運維、監控和告警的能力。

以跨城雙機房場景為例:

将 OCP 的主備叢集分别部署在城市 A 和城市 B 中,其中城市 A 中的 OCP 叢集為主叢集,城市 B 中的OCP 叢集為備叢集。OCP 主備叢集中分别管理着多個OceanBase 叢集。

知識加油站 | OCP 多叢集模式如何實作跨城雙機房容災呢?
知識加油站 | OCP 多叢集模式如何實作跨城雙機房容災呢?

當A地網絡故障導緻 OCP 叢集和 OceanBase 叢集均不可用時,可通過 OCP 叢集主備切換,将 B 地的 OCP 備叢集切換為主叢集。該主叢集可繼續對 OceanBase 叢集進行運維。将其管理的OceanBase 01 備叢集切換為主叢集,此時客戶 A 業務和 B 業務的主叢集都可正常運作。進而實作了業務的跨城高可用。

業務通過關聯 OBProxy 通路 OceanBase 叢集,對于跨 OCP 叢集的 OceanBase 主備叢集,每個 OceanBase 叢集綁定一個 OBProxy,當 OBProxy 綁定在業務叢集備庫時,可通路業務叢集備庫。當 OCP 主備叢集出現網絡故障時,業務可通過 OceanBase 備叢集綁定的 OBProxy 繼續通路 OceanBase 叢集。

知識加油站 | OCP 多叢集模式如何實作跨城雙機房容災呢?
知識加油站 | OCP 多叢集模式如何實作跨城雙機房容災呢?

跨城三機房場景,與上述場景類似,在兩個城市中部署三個 OCP 叢集,當兩地網絡故障時,可将一個 OCP 備叢集切換為主叢集,繼續保證 OceanBase 叢集的正常運作。

知識加油站 | OCP 多叢集模式如何實作跨城雙機房容災呢?
知識加油站 | OCP 多叢集模式如何實作跨城雙機房容災呢?