大量批次事務處理
此架構會使用 AKS 來實作處理大量交易批次之應用程式的計算叢集。 應用程式會從服務總線主題或佇列接收訊息中的交易。 主題和佇列可以位於不同地理區域的 Azure 數據中心,而多個 AKS 叢集可以從中讀取輸入。
注意
此架構適用於 IBM 大型主機上的批次事務處理類型,通常會使用 IBM MQ 系列訊息導向中間件來實作。
建築
下載此架構的 Visio 檔案。
Workflow
圖表中的編號圓形會對應至下列清單中的編號步驟。
- 架構會使用服務總線主題和佇列來組織批處理輸入,並將它傳遞至下游進行處理。
- Azure Load Balancer,第 4 層 (TCP,UDP) 負載平衡器,會將傳入流量分散到負載平衡集中所定義之服務狀況良好的實例。 連線的負載平衡和管理將處理優化。
- AKS 叢集背景工作節點會接聽服務總線佇列端點以進行輸入。
- Java 節點會使用 Java 訊息服務來連線到服務總線,而 Java 資料庫連線之類的 Java 介面會連線到其他數據源。 他們視需要使用其他 Java API。
- 可復原的交易會隨著每個批次步驟的商務程序代碼一起執行。
- 批次基礎結構會使用 Azure 加速網路來加快速度。
- Azure Cache for Redis、Azure Cosmos DB 和 Azure 串流分析會視需要提供可運作的記憶體。
- 永久數據層會使用 Azure Data Factory 進行數據整合,並使用 Azure SQL 受控實例、業務關鍵效能層級來達到高可用性。 永久記憶體會鬆散結合,以便輕鬆切換至其他資料庫技術,以及優化記憶體組織(例如,使用分區或分割區)。
- 數據解決方案(過渡和永久)會使用 Azure 記憶體異地備援記憶體 (GRS) 選項來防範重大失敗。
元件
Azure Bastion 是平台即服務 (PaaS),可提供虛擬機器 (VM) 的私人和完全受控遠端桌面通訊協定 (RDP) 和安全殼層 (SSH) 存取。 在此架構中,Azure Bastion 可啟用對 VM 的安全系統管理存取,而不需要將其公開給公用因特網。
Azure Blob 儲存體 是一種雲端物件儲存體服務,可為雲端原生工作負載、封存、資料湖、高效能運算和機器學習提供可調整且安全的 REST 型物件儲存體。 在此架構中,Blob 儲存體提供可調整的儲存體,以批次處理輸入、輸出和中繼資料檔。
Azure Cache for Redis 是一種完全託管的記憶體中緩存服務,用於在計算資源之間共用數據和狀態。 在此架構中,適用於 Redis 的 Azure 快取會為批次處理狀態和中繼結果提供高速暫存儲存體。
Azure Cosmos DB 是全域分散式多模型 NoSQL 資料庫,具有適用於任何規模的開放 API。 在此架構中,Azure Cosmos DB 提供可調整的 NoSQL 儲存體,用於批次處理中繼資料和工作資料。
Azure Databricks 是以 Apache Spark 為基礎的分析平台,可提供巨量數據分析服務。 在此架構中,Azure Databricks 可用於批次處理結果的進階分析和機器學習。
Azure ExpressRoute 是一種連線服務,可在 Azure 資料中心與內部部署基礎結構之間提供私人連線。 在此架構中,ExpressRoute 可為需要存取內部部署資料來源的批次處理應用程式啟用高頻寬、低延遲連線。
Azure 檔案儲存體 是一種雲端檔案儲存體服務,可在雲端中提供簡單、安全且無伺服器的企業級檔案共用。 您可以使用業界標準伺服器訊息塊 (SMB) 和網路檔案系統 (NFS) 通訊協定來存取共用。 在此架構中,Azure 檔案儲存體會為需要檔案型資料存取的批次處理應用程式提供共用檔案儲存體。
Azure Kubernetes Service (AKS) 是用於部署和管理容器化應用程式的受控 Kubernetes 服務。 在此架構中,AKS 提供容器協調流程平台,以大規模執行批次處理應用程式。
負載平衡器 是一項負載平衡服務,可提供低延遲的第 4 層 (TCP、UDP) 負載平衡功能,以平衡虛擬機器之間以及跨多層混合式應用程式的流量。 在此架構中,Load Balancer 會在運作狀態良好的批次處理執行個體之間分配傳入流量,以最佳化效能。
Azure 受控磁碟 是適用於 VM 的高效能、高度持久的區塊儲存體磁碟區。 雲端有四個磁碟儲存體選項:Azure 超磁碟儲存體、Azure 進階 SSD、Azure 標準 SSD 和 Azure 標準 HDD。 在此架構中,Azure 受控磁碟會為批次處理應用程式和暫存資料提供持續性儲存體。
Azure 網路介面 是將 VM 連線到網際網路以及 Azure 和內部部署資源的元件。 您可以為每個子虛擬機器提供自己的網路介面和 IP 位址。 在此架構中,網路介面可啟用批次處理 VM 與服務匯流排傳訊系統之間的連線。 如需網路介面的詳細資訊,請參閱 建立、變更或刪除網路介面。
Azure SQL 是一系列 SQL 雲端資料庫,可為您的整個 SQL 產品組合提供統一的體驗,以及從邊緣到雲端的各種部署選項。 在此架構中,Azure SQL 為批次處理應用程式提供關聯式資料庫服務。
Azure 儲存體 是一種雲端儲存體服務,提供多種儲存體解決方案,包括 Blob、檔案、佇列和資料表儲存體。 Azure 儲存體的 GRS 選項會在主要區域的單一實體位置內同步複製資料三次,然後以非同步方式將資料複製到次要區域中的單一實體位置。 如需詳細資訊,請參閱 Azure 記憶體備援。 在此架構中,具有 GRS 的 Azure 儲存體會為批次處理資料提供高度持久的儲存體,並防止災難性失敗。
Azure 虛擬機器 是一種雲端運算服務,可提供虛擬化的彈性,而不需要提供和維護裝載它的硬體。 操作系統選擇包括 Windows 和 Linux。 在此架構中,虛擬機器為批次處理應用程式和支援服務提供計算基礎結構。
使用加速網路建立的 VM 使用單一根輸入/輸出虛擬化 (SR-IOV),這可改善其網路效能。 如需詳細資訊,請參閱 使用 Azure PowerShell 建立具有加速網路的 Windows VM 和 SR-IOV 概觀。 在此架構中,加速網路可增強處理大量批次交易的 VM 的網路效能。
Azure 虛擬網路 是一種雲端網路服務,可在雲端中提供安全的私人網路。 它可以將 VM 彼此連接、連接到互聯網和本地網絡。 在此架構中,虛擬網路會為批次處理基礎結構提供安全的網路隔離,並啟用 AKS 叢集與其他 Azure 服務之間的通訊。
Data Factory 是雲端式資料整合服務,完全受控且無伺服器,可大規模準備和轉換所有資料。 Data Factory 支援 Parquet 格式。 此支援可為批次作業提供有效率的直欄式資料處理。 在此架構中,Data Factory 會協調批次處理輸入和輸出的資料整合工作流程。
Log Analytics 是 Azure 入口網站中的工具,可用來編輯和執行 Azure 監視器 記錄的記錄查詢。 在此架構中,Log Analytics 提供批次處理作業的集中式記錄和監視功能。
服務匯流排 是一種雲端傳訊服務,可提供可靠的雲端傳訊即服務 (MaaS) 和簡單的混合式整合。 在此架構中,服務匯流排會將交易訊息傳遞至 AKS 叢集,並確保批次工作負載的可靠訊息處理。
SQL 受控執行個體 是一項受控資料庫服務,可在雲端中提供安全且一律 up-to日期的 SQL 執行個體。 在此架構中,SQL 受控執行個體會提供高可用性資料庫服務,並提供永久資料儲存體的業務關鍵效能層。
串流分析 是一項服務,可為來自應用程式和裝置的快速移動資料流提供即時分析。 在此架構中,串流分析會處理來自批次作業的串流資料,以進行即時監視和分析。
案例詳細數據
在 Azure 上,您可以使用以 Microsoft azure Kubernetes Service (AKS) 和 Azure 服務總線為基礎的架構,實作批次事務處理,例如將付款張貼至帳戶。 這種類型的架構提供大量批處理所需的事務處理速度、調整和可靠性。
一般而言,訊息會維持佇列,直到其交易完成為止,以便在發生失敗時允許復原。 此外,您也可以將主題和佇列復寫至其他區域、共用工作負載,以及繼續處理,即使區域失敗也一樣。
潛在的使用案例
此解決方案適用於金融、教育和科學產業。 此架構適用於大量處理交易批次,特別是可以平行處理的獨立交易。 因此,它很可能是用來移轉大型主機批處理的候選專案。 可能的應用程式包括:
- 處理財務交易,例如薪資、訂單和付款。
- 處理由科學儀器收集的實驗數據。
- 其他大型主機批處理。
考慮
這些考慮會實作 Azure Well-Architected Framework 的要素,這是一組可用來改善工作負載質量的指導原則。 如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework。
可靠性
可靠性可確保您的應用程式可以符合您對客戶的承諾。 如需詳細資訊,請參閱 可靠性的設計檢閱檢查清單。
- Azure Site Recovery 災害復原服務可防範重大中斷。 其可靠、符合成本效益且易於部署。
- VM 的可用性設定組可確保有足夠的 VM 能夠符合任務關鍵批次程式需求。
- 服務總線、AKS 和 Azure SQL 受控實例可跨地理區域提供高可用性和復原能力。
安全性
安全性可提供針對蓄意攻擊和濫用寶貴數據和系統的保證。 如需詳細資訊,請參閱 安全性的設計檢閱檢查清單。
- 服務總線批次架構中的所有元件都會與 Azure 安全性元件搭配運作,例如Microsoft Entra ID、虛擬網路和加密。
成本優化
成本優化是考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱 成本優化的設計檢閱檢查清單。
若要預估此解決方案實作的成本,請使用 定價計算機。
AKS 叢集的自動調整功能,以及其他提供隨選調整功能的 Azure 平臺即服務 (PaaS) 功能,將成本保持在最低水準。
以下是特定元件的定價考慮:
- 大多數企業已經有Microsoft Active Directory 實作。 如果沒有,Microsoft Entra ID P1 或 P2 成本較低。
- Windows VM 定價 和 Linux VM 定價 取決於您的計算容量。
- 如需進階 SSD 或 Ultra 受控記憶體磁碟定價,請參閱 受控磁碟定價。
- Azure SQL Database沒有預付成本;您需按使用方式支付資源費用。
- 針對 ExpressRoute,您需支付每月埠費用和輸出數據傳輸費用。
- Azure 記憶體 成本取決於數據備援選項和磁碟區。
- Azure 檔案服務 定價取決於許多因素:數據量、數據備援、交易量,以及您使用的檔同步伺服器數目。
- 如需 SSD 受控磁碟定價,請參閱 受控磁碟 定價。
- 針對 Site Recovery,您會為每個受保護的實例付費。
- 您的 Azure 訂用帳戶免費使用這些服務,但您需支付使用量和流量的費用:
- Load Balancer。
- 您的活動執行量會決定 Data Factory的成本。
- 針對 Azure 虛擬網路,IP 位址會收取名義費用。
- 輸出數據傳輸量會決定 Azure Bastion 成本
。
卓越營運
卓越營運涵蓋部署應用程式的作業程式,並讓它在生產環境中執行。 如需詳細資訊,請參閱 Operational Excellence的設計檢閱檢查清單。
- Azure Resource Manager 範本 (ARM 範本) 提供組態語言,以在可用於腳本部署的範本中描述您的資源。 範本也提供監視和警示功能。
效能效率
效能效率是工作負載調整的能力,以符合使用者以有效率的方式滿足其需求。 如需詳細資訊,請參閱 效能效率的設計檢閱檢查清單。
- 此架構的設計目的是要容納獨立交易的平行處理。
- 服務總線、AKS 和其他 Azure PaaS 功能為事務處理、運算和數據記憶體提供高效能。
- 服務總線、AKS 和其他 Azure PaaS 功能會視需要動態調整。
後續步驟
- 若要深入瞭解 AKS,請參閱:Azure Kubernetes Service 解決方案旅程。
- 若要深入瞭解服務總線,請參閱:服務總線佇列、主題和訂用帳戶。