瞭解如何部署 Oracle Banking Microservices 和 OCI Kubernetes Engine

瞭解如何使用 Oracle Cloud Infrastructure Kubernetes Engine 和 Oracle Banking Microservices 將您的銀行基礎架構現代化。OCI Kubernetes 引擎 (OKE) 是完全受管理、可擴展且高可用性的服務,可用來將容器化應用程式部署到雲端。當您的開發團隊想要可靠地建置、部署及管理雲端原生應用程式時,請使用 OKE。您可以指定應用程式所需的運算資源,OKE 會在現有 OCI 租用戶的 OCI 上佈建這些資源。

架構

此架構說明如何導入 Oracle Banking Microservices 與 OCI Kubernetes Engine ,以有效地運用微服務。

Oracle Banking Microservices Architecture

Oracle 提供業界最廣泛的領域導向銀行解決方案,涵蓋零售和企業銀行業務,以及從客戶數位體驗層到銀行產品處理器或核心銀行業務領域的完整前端到後端。

所有這些功能都是以一組自主模組的方式提供,這些模組是使用網域導向設計所設計,並使用最先進的微服務架構來實作。每個模組都是由一組業務網域特定的微服務、一組跨所有模組的通用功能基礎微服務 (通用核心) 以及提供所需技術功能的平台服務所組成。

下圖說明分支模組中不同層級的微服務。



此架構提供最大的部署彈性。每個微服務都可以容器化在嵌入器映像中,並單獨部署。此選項可讓您完全控制部署,讓您根據特定客戶需求更新或縱向擴展任何特定微服務。

有些客戶可能不需要該層級的平台管理精細度,而且可能偏好簡化的方法,將微服務分組在較少數量的嵌入器影像中。雖然此方法可降低在個別層級更新和調整規模的彈性,但仍可為具有擴展性、高可用性等標準需求的客戶提供所需的控制層級。在此情況下,請務必將考量其影響和特定性質的微服務分組。在此參考架構中,我們建議考慮下列因素的分組:

  • 工作負載類型:以 REST 為基礎、以批次為基礎、以事件為基礎、以工作流程為基礎。
  • 重要元件:部分元件對平台而言極為重要。它們的工作負載比其他工作負載高。

下圖說明建議的分組。


obma-service-landscape-branch-module-proposed.png 的描述如下
obma-service-landscape-branch-module-proposed.png 圖解描述

以下為這些分組的說明:

  • 網域 SD:包含模組的業務網域微服務,在此情況下為分支模組。
  • CMC SD:通用核心或功能基礎微服務。
  • Plato SD:包含尚未單獨部署的技術平台微服務。
  • Kafka:由平台「事件中心」用來進行微服務與外部系統之間的通訊。
  • 執行者:用於協調微服務及建立人工工作流程之平台的工作流程引擎。
  • 批次伺服器:執行業務網域所需的批次處理。

此解決方案將七個嵌入式影像組成群組。

使用 OKE 部署架構

OCI Kubernetes 引擎使用 Kubernetes - 開放原始碼系統,可跨主機叢集自動部署、擴展和管理容器化應用程式。Kubernetes 將構成應用程式的容器群組為邏輯單位 (稱為 Pod),以便輕鬆管理和探索。

若要在 Kubernetes 中執行容器,它們必須包含在 Pod 中。Pod 是 Kubernetes 中最小的單元,是一個建構,可執行共用相同網路、儲存、記憶體及 IPC 命名空間的容器群組。Pod 中有一個主要容器,後續的容器則支援主要容器。例如,具有支援容器的應用程式容器,可將應用程式日誌傳送至記錄伺服器。在此架構中,我們不會瞭解有關多容器 Pod 使用案例的詳細資訊,但在大多數情況下,每個 Pod 只有一個容器。

對於部署 Oracle Banking 解決方案,我們將包含我們部署在自己的 Pod 中的七個容器映像檔。為每個容器映像檔定義 Kubernetes Pod 資訊清單檔案,即可完成這項作業。

Pod 可以直接部署到 Kubernetes 中,但透過 Kubernetes 部署更健全地部署 Pod。Kubernetes 部署可讓您定義 Pod 所需的狀態或行為,例如指定 Pod 的複本數目或複本數目。Kubernetes 部署也可以將現有的 Pod 升級至新的應用程式版本。必須使用 Kubernetes 才能維持指定的 Pod 狀態。

我們將有 7 項部署項目可供 Oracle 銀行解決方案使用。部署中的每個 Pod 都會被指派 IP 位址,但 Pod 的 IP 位址會是暫時的,而且會在建立和毀棄 Pod 時變更。為了提供一致的方式來存取部署中的 Pod,系統會為每個部署建立 Kubernetes 服務。Kubernetes 服務是定義一組 Pod 的抽象概念。當 Kubernetes 服務與部署相關聯時,它將代表部署中的所有 Pod,並將負載平衡流量至每個 Pod。視 Pod 的存取方式而定,無論是否僅供 Kubernetes 叢集中的其他資源存取、OCI VCN 內的其他資源或透過網際網路對外存取,都會將不同類型的 Kubernetes 服務指派給部署。

為了提供抗逆力,我們的 OKE 節點集區將涵蓋區域中的所有三個可用性區域。如果可用性區域失敗,則會在另一個可用性區域的節點上自動重新建立部署在失敗可用性區域中節點上的所有 Pod。

對於儲存微服務資料的 Oracle 資料庫 (針對每個微服務使用區隔的綱要),我們會在兩個容錯域中使用 Oracle Real Application Clusters (Oracle RAC) 組態。

下圖說明此架構。


obma-oke-architecture.png 的描述如下
obma-oke-architecture.png 圖解描述

火影忍者 -architecture.zip

對於儲存微服務資料的 Oracle 資料庫 (針對每個微服務使用區隔的綱要),我們會在兩個可用性網域中使用 RAC 組態 (使用圖片上未顯示的兩個容錯域)。資料是使用第二個可用性網域中的 Oracle Data Guard 進行複製。

架構具有下列元件:

  • 地區

    Oracle Cloud Infrastructure 區域是一個本地化地理區域,其中包含一或多個稱為可用性網域的資料中心。區域獨立於其他區域,而廣大的距離可以將其分開 (跨國家或大陸)。

  • 可用性網域

    可用性網域是區域內的獨立獨立資料中心。每個可用性網域中的實體資源會與其他可用性網域中的資源隔離,以提供容錯能力。可用性網域不會共用基礎架構 (例如電源或冷卻系統) 或內部可用性網域網路。因此,一個可用性網域的故障不應影響該區域中的其他可用性網域。

  • 容錯域

    容錯網域是可用性網域內的一組硬體和基礎架構。每個可用性網域都有三個具有獨立電源和硬體的容錯域。當您將資源分散到多個容錯域時,您的應用程式可以容忍容錯域內的實體伺服器故障、系統維護和電源故障。

  • 虛擬雲端網路 (VCN) 和子網路

    VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。與傳統的資料中心網路一樣,VCN 可讓您控制網路環境。VCN 可以有多個非重疊的 CIDR 區塊,您可以在建立 VCN 之後變更。您可以將 VCN 區隔成子網路,此子網路可以設定區域範圍或可用性網域。每個子網路都是由連續的位址範圍組成,這些位址不會與 VCN 中的其他子網路重疊。您可以在建立子網路後變更其大小。子網路可以是公用或專用。

  • 負載平衡器

    Oracle Cloud Infrastructure Load Balancing 服務提供從單一進入點到後端多部伺服器的自動流量分配。

  • 堡壘主機

    堡壘主機是一個運算執行處理,可作為雲端外部拓樸的安全控制進入點。堡壘主機通常是在非軍事區域 (DMZ) 中佈建。它可讓您保護機密資源,方法是將這些資源放置在無法直接從雲端外部存取的專用網路中。拓樸具有單一的已知進入點,您可以定期監督和稽核。因此,您可以避免暴露拓樸中較敏感的元件,而不會影響拓樸的存取。

  • 資料庫系統

    對於小型部署,VM.Standard2.2 資源配置已足夠。此架構使用具備 Oracle Database Enterprise Edition - Extreme Performance 的資料庫系統 (使用 Oracle Real Application Clusters (RAC)。它也使用 Oracle Automatic Storage Management (Oracle ASM),最少為 256 GB。

  • 區塊磁碟區

    透過區塊儲存磁碟區,您可以建立、附加、連接和移動儲存磁碟區,以及根據儲存、效能和應用程式需求變更磁碟區效能。將磁碟區連附並連線至執行處理之後,就可以像使用一般硬碟一樣使用該磁碟區。您也可以中斷磁碟區連線並將其連附至另一個執行處理,而不會遺失資料。

  • 物件儲存

    物件儲存可讓您快速存取任何內容類型的大量結構化與非結構化資料,包括資料庫備份、分析資料,以及豐富的內容 (例如影像和影片)。您可以安全地儲存資料,然後直接從網際網路或雲端平台內擷取資料。您可以擴展儲存體,而不會發生任何效能或服務可靠性的降低問題。針對您需要快速、立即和經常存取的「熱」儲存,使用標準儲存。針對長時間保留且極少或極少存取的「冷」儲存,使用封存儲存。

  • 網路位址轉譯 (NAT) 閘道

    NAT 閘道可讓 VCN 中的專用資源存取網際網路上的主機,而無須向內送網際網路連線公開這些資源。

  • 服務閘道

    服務閘道可讓您從 VCN 存取其他服務,例如 Oracle Cloud Infrastructure Object Storage 。從 VCN 到 Oracle 服務的流量會透過 Oracle 網路結構傳送,不會周遊網際網路。

探索更多

深入瞭解如何部署 Oracle Banking Microservices 和 OCI Kubernetes Engine

複查這些額外資源:

確認

  • Author: Javier Vidal
  • Contributor: Chiping Hwang