国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

分解單體式數據庫以實(shí)現微服務(wù)

發(fā)布時(shí)間:2021-07-07 12:36 來(lái)源:TechTarget中國 閱讀:0 作者:TechTarget中國 欄目: 數據庫 歡迎投稿:712375056

在從單體式架構遷移到微服務(wù)架構時(shí),數據通常是事后想法。有些人認為遷移僅涉及應用邏輯的重組,而底層數據保持不變。但是,這種做法可能會(huì )導致單體式服務(wù)和微服務(wù)的尷尬混合:分布式單體服務(wù)。

微服務(wù)模型使基礎架構和數據存儲發(fā)生深刻變化。在微服務(wù)模型中,從傳統應用程序中拉出服務(wù),并為其提供獨立性,在這種情況下,團隊也必須考慮其基礎數據庫,并將其分解為特定于服務(wù)的數據源。

讓我們看一下微服務(wù)遷移如何影響數據庫管理,并探討分解數據庫的步驟。

按服務(wù)模式的數據庫

在微服務(wù)架構中,大型數據湖需要轉型為分布式數據庫,以匹配特定服務(wù)。這樣做可在只需要訪(fǎng)問(wèn)原始數據庫特定部分的各個(gè)服務(wù)間創(chuàng )建必要的關(guān)注點(diǎn)分離。這也可幫助管理自己服務(wù)集的團隊維持所需的獨立控制。

根據Praful Todkar建議的模型,分解單體數據庫需要與其所支持的服務(wù)同時(shí)進(jìn)行-有時(shí)稱(chēng)為按服務(wù)模式的數據庫。這應該是逐步的過(guò)程,并要求團隊:

  • 從單體中分離出單個(gè)服務(wù),并將流量路由到它;
  • 分離相同數據庫中的表,并將其與該服務(wù)匹配;
  • 在該表旁邊創(chuàng )建新的較小的數據庫,并將流量路由到它;
  • 從原始數據庫中刪除先前的數據和架構。

分離服務(wù)和表

在微服務(wù)遷移期間,重組整個(gè)數據庫有點(diǎn)像在駕駛汽車(chē)的同時(shí)更換輪胎。這樣做可能會(huì )導致各種故障,并增加丟失數據或破壞功能的機會(huì )。

正確的做法是,從小處著(zhù)手,在舊架構與新微服務(wù)間進(jìn)行邏輯分離。當你選擇要從單體中移除的服務(wù)后,創(chuàng )建一個(gè)新數據表(或多個(gè)表),其中僅包含新服務(wù)所需的數據。

在此步驟中,明確的路由規則至關(guān)重要。首先團隊需要將流量從單體應用程序重新路由到新的微服務(wù)。然后,他們必須將舊的單體數據庫的部分轉移到表中,這最終將構成新數據庫的框架。所有這些都需要現代的聯(lián)網(wǎng)功能,例如由Istio等工具實(shí)現的服務(wù)網(wǎng)格方法。

當將分離的表轉換為新的分布式數據庫時(shí),奇偶校驗也至關(guān)重要。請確保新舊數據庫中的數據已完全同步。在確認數據奇偶校驗后,從以前的數據庫中刪除表和舊數據。

使用模式是便于管理,但不能過(guò)于依靠

模式是元數據集,用來(lái)描述數據庫內數據的結構。有些團隊更喜歡按模式整理數據,為每個(gè)服務(wù)創(chuàng )建獨有的數據庫模式,而不是整個(gè)數據庫。這種方法有著(zhù)無(wú)可爭議的好處,因為要管理的數據庫更少,并且它們之間的統一性更高。

但是,這種做法非常接近單體式數據湖模型,而我們正試圖遠離這種模型。如果有選擇的話(huà),即使看起來(lái)客觀(guān)上適得其反,開(kāi)發(fā)人員和架構師也會(huì )傾向于熟悉的方法。他們會(huì )做出妥協(xié)并遵循按服務(wù)模式做法。但是請記?。褐灰锌赡?,最好為每個(gè)服務(wù)都設置專(zhuān)用數據庫,而不要依賴(lài)總體架構。

微服務(wù)最好的部分是,它使你可以將專(zhuān)用數據庫分配給某些服務(wù),而將共享數據庫用于其他服務(wù)。該決定通常取決于服務(wù)的重要性及其處理的數據類(lèi)型。團隊結構也在這里發(fā)揮作用。有些服務(wù)要求管理它們的團隊具有嚴格的自治權,而其他服務(wù)最好在多個(gè)團隊之間共享。

為微服務(wù)選擇最佳數據庫

通常,單體是構建大型關(guān)系數據庫上。當遷移到微服務(wù)時(shí),為新架構選擇數據庫是重大決定。

現在有很多數據庫選項,包括:

  • 鍵值數據庫
  • 文檔存儲數據庫
  • 圖形數據庫
  • 基于列的數據庫

每種類(lèi)型的數據庫模型都適合特定類(lèi)型的數據管理需求。例如,鍵值數據庫和列式數據庫最適合結構化數據,圖形適合半結構化數據,而文檔存儲則最適合非結構化數據。

請記住,每種數據庫類(lèi)型的讀寫(xiě)速度都不同,圍繞不同數據庫的供應商工具也不同。在選擇任何一種數據庫類(lèi)型或工具集前,請使用樣本數據運行測試。例如,對于需要實(shí)時(shí)性能的服務(wù),將需要具有強大內存性能的數據庫。

盡管企業(yè)正在遷移到微服務(wù),但是關(guān)系數據庫不會(huì )很快消失。出于各種原因,很多應用程序的某些部件在傳統架構中運行時(shí)性能最佳,并且將依賴(lài)于舊的單體數據庫來(lái)運行。好消息是微服務(wù)支持這種數據庫管理的多類(lèi)型模型。因此,不要僅僅因為其他服務(wù)正在遷移到微服務(wù),而試圖將應用程序的每個(gè)部分從單體中移出。

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

中文字幕人成人乱码亚洲电影| 狠狠色综合TV久久久久久| 国产片XXXXA片国语对白| 香港三日本8A三级少妇三级99| 亚洲娇小与黑人巨大交| 六十路の高齢熟女が|