BigInsights 跨云解決方案

信息化觀察網(wǎng)
郭璐
隨著數(shù)字化進程的推進,企業(yè)云服務(wù)日趨重要。但是,單一云服務(wù)商本身也面臨各種風(fēng)險,例如硬件故障、系統(tǒng)升級問題等,都可能導(dǎo)致短期或長期性的服務(wù)中斷。特別是大規(guī)模型企業(yè),其任何一次云服務(wù)中斷都可能給業(yè)務(wù)和用戶帶來極大影響。

一、背景介紹

此前,阿里云和滴滴等企業(yè)的云服務(wù)出現(xiàn)故障,在業(yè)界造成比較大的影響。這再次提醒了我們,如果只依賴于單一云服務(wù)商,一旦其服務(wù)出現(xiàn)問題,將面臨重大業(yè)務(wù)隱患。

隨著數(shù)字化進程的推進,企業(yè)云服務(wù)日趨重要。但是,單一云服務(wù)商本身也面臨各種風(fēng)險,例如硬件故障、系統(tǒng)升級問題等,都可能導(dǎo)致短期或長期性的服務(wù)中斷。特別是大規(guī)模型企業(yè),其任何一次云服務(wù)中斷都可能給業(yè)務(wù)和用戶帶來極大影響。同時,隨著企業(yè)業(yè)務(wù)的擴張,多地域部署也變得十分必要。但如果依賴單一云服務(wù)商,就難以滿足不同地域和應(yīng)用規(guī)模的需求。因此,未來云服務(wù)需要實現(xiàn)跨云能力,這不僅可以提高系統(tǒng)可用性和災(zāi)備能力,也更好支持企業(yè)跨地域和跨應(yīng)用場景下的業(yè)務(wù)發(fā)展。

BigInsights智能數(shù)據(jù)庫系統(tǒng)是新一代云原生的數(shù)據(jù)庫,具有多云部署的能力,可以打破了云服務(wù)提供商的限制,允許在不同的云上部署B(yǎng)igInsights分布式數(shù)據(jù)庫集群,可徹底解決單一云服務(wù)故障對業(yè)務(wù)的影響,支持多云集群靈活部署,提供高可用性服務(wù),從而完全避免數(shù)據(jù)丟失的風(fēng)險,持續(xù)為應(yīng)用程序提供數(shù)據(jù)庫相關(guān)服務(wù)。

本文介紹了多云部署的BigInsights集群方案,解決單一云部署可能遇到的災(zāi)難性問題。此外,它還為企業(yè)提供了更大的靈活性,使其能夠根據(jù)需要在不同的云平臺上部署數(shù)據(jù)庫,更好地滿足業(yè)務(wù)需求。

二、技術(shù)架構(gòu)

總體上,BigInsights支持多種架構(gòu),可以滿足不同業(yè)務(wù)場景的高可用需求。

(一)跨云復(fù)制:

BigInsights可以在不同的云平臺上進行部署,從而構(gòu)建分布式數(shù)據(jù)庫集群。這種架構(gòu)可以提供高可用性和容錯能力,確保即使一個云服務(wù)出現(xiàn)故障,數(shù)據(jù)庫服務(wù)仍然可以繼續(xù)運行。

多云復(fù)制具有許多好處,其中包括:

1)高可用性:通過在不同的云平臺上部署應(yīng)用程序和服務(wù),可以確保即使一個云服務(wù)出現(xiàn)故障,其他云服務(wù)仍然可以繼續(xù)提供服務(wù),從而提高系統(tǒng)的可用性。

2)容錯能力:多云部署可以提供更強的容錯能力,因為即使一個云服務(wù)發(fā)生故障,其他云服務(wù)也可以繼續(xù)提供服務(wù),降低了系統(tǒng)發(fā)生故障的風(fēng)險。

3)數(shù)據(jù)安全性:多云部署可以幫助企業(yè)在不同的云平臺上備份和存儲數(shù)據(jù),從而提高數(shù)據(jù)的安全性和可靠性。

4)避免供應(yīng)商鎖定:多云部署可以避免企業(yè)對單一云服務(wù)提供商的依賴,降低了供應(yīng)商鎖定的風(fēng)險,同時也提高了企業(yè)在談判云服務(wù)價格和條款時的議價能力。

5)成本優(yōu)化:通過多云部署,企業(yè)可以根據(jù)不同云服務(wù)提供商的定價和服務(wù)質(zhì)量選擇最優(yōu)的解決方案,從而降低成本。

多云部署,BigInsights跨云復(fù)制使用xDCR架構(gòu),如下圖所示:

640 (1).png

從上圖中,在云A和云B兩個集群間開啟雙向復(fù)制,寫入云A上的集群X(源)的數(shù)據(jù)會復(fù)制到云B上的集群Y(目標)中;同理,寫入云B上的集群Y(源)的數(shù)據(jù)會復(fù)制到云A上的集群X(目標)中。

(二)多云同步:

BigInsights還支持在云和云之間進行多云同步,以滿足企業(yè)的特定需求。這種架構(gòu)可以幫助企業(yè)在保護敏感數(shù)據(jù)的同時,利用公有云的彈性和靈活性。

640 (1).png

從上圖中,有三個不同的云A,云B,云C,可分別在不同的云中,選擇地域臨近的可用區(qū)主機,構(gòu)建集群。

(三)只讀副本:

另外,我們也提供只讀副本部署方式,除了基于核心分布式共識的復(fù)制外,BigInsights還擴展了Raft,以添加不參與寫入但以異步方式獲得數(shù)據(jù)的時間線一致副本的只取副本(也稱為觀察者節(jié)點)。

使用只讀副本,可以在一個區(qū)域的多個區(qū)域或附近區(qū)域中復(fù)制主集群的數(shù)據(jù),數(shù)據(jù)被異步復(fù)制到只讀副本。

遠程數(shù)據(jù)中心中的節(jié)點可以以只讀模式添加,這通常用于某些工作負載無法容忍基于分布式共識的寫入延遲的情況。

只讀副本部署同時具有許多其它的好處,其中包括:

1)讀寫分離:主集群提供對業(yè)務(wù)的主要數(shù)據(jù)支撐,提供讀與寫的服務(wù);而只讀副本只提供讀的服務(wù)。

2)讀取延遲降低:可以在要運行應(yīng)用程序的每個區(qū)域以及可以接受一點延遲的區(qū)域中設(shè)置單獨的只讀副本集群,來提供對不可忍受高延遲的讀提供服務(wù),通??蛇m用于BI(Business Intelligence)的支撐。

從上圖中,有三個不同的云A,云B,云C,可分別在不同的云中,云A中的節(jié)點A,節(jié)點B,節(jié)點C,構(gòu)建主集群,主集群的數(shù)據(jù)被異步復(fù)制到云B中的只讀副本A,以及云C中的只讀副本B。

(四)跨云分區(qū):

針對于數(shù)據(jù),我們還提供了行級地理分區(qū)部署方式。行級地理分區(qū)允許對用戶表中的數(shù)據(jù),按行級別,固定到特定的地理位置而進行細粒度控制。

這種部署方式將具有許多其它的好處,其中包括:

1.數(shù)據(jù)移動到離用戶更近的位置,實現(xiàn)更低的延遲和更高的性能。

2.滿足數(shù)據(jù)要求,以遵守《通用數(shù)據(jù)保護條例》(General Data Protection Regulation,簡稱“GDPR”)法規(guī)。

640 (1).png

從上圖中,有三個不同的云A,云B,云C,可分別在不同的云中,每一個云中各自包含有3個節(jié)點,共同構(gòu)建為一個集群,集群中的數(shù)據(jù)存儲在基于地理位置的分區(qū)表中,在這種部署中,用戶可以以低延遲訪問數(shù)據(jù),因為數(shù)據(jù)位于地理位置較近的服務(wù)器上,查詢不需要訪問地理位置較遠的數(shù)據(jù)。

這些架構(gòu)可以根據(jù)企業(yè)的具體需求進行定制和調(diào)整,以滿足不同的集群部署需求。

三、部署方案

(一)跨云復(fù)制xDCR

xDCR是BigInsights提供的一種用于災(zāi)難恢復(fù)的異步復(fù)制方案,架構(gòu)中包含了CDC服務(wù),它允許在兩個集群之間設(shè)置一個或多個單向CDC復(fù)制流。對于每個復(fù)制流,數(shù)據(jù)都從源(生產(chǎn)者)集群復(fù)制到目標(消費者)集群。這種復(fù)制是在BigInsights的數(shù)據(jù)存儲引擎級別完成的,可以將源集群中新提交的寫入異步復(fù)制到目標集群。

在這種架構(gòu)中,xDCR的設(shè)計目的是為了提供一種可靠的災(zāi)難恢復(fù)解決方案。通過將數(shù)據(jù)異步復(fù)制到目標集群,即使源集群發(fā)生故障或不可用,目標集群仍然可以保持數(shù)據(jù)的完整性和可用性。這種異步復(fù)制的方式可以確保數(shù)據(jù)在不同集群之間的一致性,并提供災(zāi)難恢復(fù)和數(shù)據(jù)備份的功能。

當兩個集群之間創(chuàng)建的兩個單向復(fù)制流,每個方向一個(從集群A到集群B,從集群B到集群A),則稱之為雙向復(fù)制。雙向復(fù)制確保了兩個集群之間的數(shù)據(jù)一致性,并避免了無限循環(huán)的問題。在這種設(shè)置中,每個集群都充當生產(chǎn)者和消費者,確保了數(shù)據(jù)在兩個集群之間的雙向同步。

通過設(shè)置雙向復(fù)制,確保了任何一個集群中寫入的內(nèi)容都將被復(fù)制到另一個集群中,從而保證了數(shù)據(jù)的一致性。同時,由于數(shù)據(jù)只會異步復(fù)制一次,避免了無限循環(huán)的情況,確保了數(shù)據(jù)復(fù)制的有效性和可靠性。

綜上所述,可以看到,xDCR的方案非常靈活,當一個集群不可用時,另一個集群保存有完整的數(shù)據(jù),因此可以對外部應(yīng)用繼續(xù)提供完整的數(shù)據(jù)庫服務(wù)。這種靈活性使得xDCR成為一種可靠的災(zāi)難恢復(fù)解決方案,同時也降低了集群之間的依賴性,提高了整體系統(tǒng)的穩(wěn)定性和可靠性。

但仍然需要注意的一點是:在設(shè)置雙向復(fù)制的兩個集群時,選擇距離較近的區(qū)域可以幫助降低故障切換的延遲,并且有助于減少網(wǎng)絡(luò)延遲,提高數(shù)據(jù)傳輸?shù)男屎托阅?,從而提高集群的性能;這對于確保數(shù)據(jù)同步和業(yè)務(wù)連續(xù)性都非常重要。

采用xDCR(雙向異步復(fù)制架構(gòu))的方案通常包括以下主要實現(xiàn)步驟:

1.借助BigInsights提供的命令工具bm-admin,獲取集群A的UUID。

2.需要復(fù)制的表,需在集群A和集群B中均進行相同的表定義創(chuàng)建,并需借助命令工具bm-admin來獲取復(fù)制的表ID。

3.借助命令工具bm-admin,及指定源集群與目標集群來建立單向復(fù)制。

4.雙向復(fù)制,重復(fù)步驟1到3,僅僅需要做的是,將第3步驟中的源集群作為目標集群,而目標集群作為源集群,即源與目標互換。

(二)多云同步

部署方式類似于普通集群部署,直接配置一個集群的多個節(jié)點在不同的云服務(wù)器里,多個副本通過RAFT協(xié)議數(shù)據(jù)同步。

(三)只讀副本

采用只讀副本部署(異步復(fù)制架構(gòu))的方案通常包括以下主要實現(xiàn)步驟:

1.啟動主集群的BMMaster服務(wù)。

2.使用bm-admin命令行工具的相關(guān)modify_placement_info命令,更改主集群的placement相關(guān)信息。

3.使用bm-admin命令行工具的相關(guān)add_read_replica_placement_info命令,定義只讀副本的placement相關(guān)信息。

4.啟動主集群的BMServer服務(wù),其中包括在上述第二步驟中的placement相一致的信息。包括有:--placement_cloud placement_cloud

--placement_region placement_region

--placement_zone placement_zone

--placement_uuid live_id

5.啟動只讀副本的BMServer服務(wù),其中包括在上述第三步驟中的placement相一致的信息。包括有:--placement_cloud placement_cloud

--placement_region placement_region

--placement_zone placement_zone

--placement_uuid read_replica_id

(四)跨云分區(qū)

1.方案的集群部署方式類似于普通集群部署,但需要進行以下必要的主要實現(xiàn)步驟:

2.使用CREATE TABLESPACE創(chuàng)建表空間:為要將數(shù)據(jù)劃分到的每個地理位置各自創(chuàng)建獨立的表空間,需要定義placement相關(guān)信息,其中包括:cloud,region,zone等信息。

3.創(chuàng)建分區(qū)表:創(chuàng)建包含地理位置列的基于List分區(qū)方式的父表,該地理位置列用于將數(shù)據(jù)分區(qū)到每個地理位置,之后,在父表下為每個所需的地理位置各自創(chuàng)建一個分區(qū)表,并將每個分區(qū)表分配給第一步中創(chuàng)建的適用的表空間。

四、結(jié)語

如果您需要關(guān)于BigInsights集群的詳細部署信息,可以參考貝格邁思官網(wǎng)、微信公眾號或其他相關(guān)資源中提供的文章或文檔,以獲取更多關(guān)于部署、配置和最佳實踐的信息。在實施混合部署或多云部署時,充分了解各種環(huán)境下的最佳實踐和安全配置,對確保系統(tǒng)的穩(wěn)定性和可靠性至關(guān)重要。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論