在微服務中啟用資料持續性 - AWS 規範指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在微服務中啟用資料持續性

虎斑病房和巴拉吉莫罕, Amazon Web Services () AWS

2023 年 12 月 (文件歷史記錄)

Organizations 不斷尋求新的流程來創造成長機會並縮短上市時間。您可以將應用程式、軟體和 IT 系統現代化,提高組織的敏捷性和效率。現代化還可以幫助您為客戶提供更快更好的服務。

應用程式現代化是您組織持續改進的閘道,首先要將整合式應用程式重構為一組獨立開發、部署和管理的微服務。此程序包含下列步驟:

雖然您可以針對某些使用案例使用整合式應用程式架構,但現代應用程式功能通常無法在整合式架構中運作。例如,升級個別元件時,整個應用程式無法保持可用狀態,而且您無法擴展個別元件來解決瓶頸或熱點 (應用程式資料中相對密集的區域)。巨石可以成為大型,難以管理的應用程序,並且需要在多個團隊之間進行大量的努力和協調才能引入微小的變化。

舊版應用程式通常會使用集中式的整合式資料庫,這會使結構描述變更變得困難,並以垂直擴充作為回應成長的唯一方法來建立技術鎖定,並導致單點失敗。整合式資料庫也可防止您建置實作微服務架構所需的分散式獨立元件。

以前,典型的架構方法是在單一單一應用程式所使用的關聯式資料庫中建立所有使用者需求的模型。這種方法受到流行的關聯式資料庫架構的支援,應用程式架構設計人員通常會在開發程序的最早階段設計關聯式結構描述,建置高度標準化的結構描述,然後將其傳送給開發人員團隊。但是,這意味著數據庫驅動了應用程序用例的數據模型,而不是反過來。

透過選擇將資料存放區分散,您可以在微服務之間提升多語形持續性,並根據資料存取模式和微服務的其他需求來識別資料儲存技術。每個微服務都有自己的資料存放區,並且可以透過低影響的結構描述變更獨立調整規模,而且資料會透過微服務的 API 進行閘道。打破整體式資料庫並不容易,最大的挑戰之一就是建構資料以達到最佳效能。去中心化的 polyglot 持久性通常還會導致最終的數據一致性,並且需要進行徹底評估的其他潛在挑戰包括交易過程中的數據同步,事務完整性,數據複製以及聯接和延遲。

本指南適用於應用程式擁有者、企業擁有者、架構師、技術主管和專案經理。本指南提供下列六種模式,以在您的微服務之間啟用資料持續性:

本指南是內容系列的一部分,其中涵蓋了建議的應用程式現代化方法。AWS該系列還包括:

目標業務成果

許多組織發現,創新和改善使用者體驗會受到整合式應用程式、資料庫和技術的負面影響。舊版應用程式和資料庫可減少您採用現代技術架構的選擇,並限制您的競爭力和創新。不過,當您將應用程式及其資料存放區現代化時,這些應用程式會變得更容易擴充並且開發速度更快。分離的資料策略可改善容錯能力和復原能力,有助於加快新應用程式功能的上市時間。

在您的微服務之間促進資料持續性,您應該期待以下六個結果:

  • 從您的應用程式產品組合中移除舊式整合式資料庫。

  • 改善應用程式的容錯能力、復原能力和可用性。

  • 縮短新應用程式功能的上市時間。

  • 降低整體授權費用和營運成本。

  • 利用開放原始碼解決方案 (例如 MySQLPostgre SQL)。

  • 從雲端上超過 15 個專用資料庫引擎中進行選擇,建置可高度擴充的分散式應用程式。AWS