關於使用 Oracle Notification Server 代理主機的 Oracle Database 雲端服務
Oracle Connection Manager ( CMAN) 可透過通透的方式轉送連線要求和回應、提供進入點以及提供 TLS 安全性、協定切換 / 路由以及存取控制,來簡化資料庫和應用程式在不同 cloud service 提供者上的多雲端部署。
在本解決方案手冊中,您將瞭解如何使用搭配 Oracle Database 的單一 CMAN 執行處理來建立與 Google Cloud 的連線,讓從屬端能夠訂閱 Oracle RAC 事件。附註:
多個 CMAN 執行處理可提供更好的負載平衡功能,並提升效能和可用性。gc-oci-ons-subscribe-rac-events-arch-oracle.zip
Oracle Notification Service ( ONS) 是 Oracle Grid Infrastructure 的一個元件,它會發佈 Oracle Real Application Clusters (Oracle RAC) 事件,例如伺服器負載、節點啟動或關閉等等。直接連線資料庫或使用連線集區的資料庫從屬端可以訂閱這些通知,讓它們能夠在嚴重事件期間採取動作。在應用程式和 Oracle RAC 資料庫橫跨不同雲端提供者的多雲端部署中,應用程式可以使用 CMAN 與 Oracle RAC 資料庫通訊。不過,這些階段作業無法接收外送的「快速應用程式通知 (FAN)」事件。
在 Oracle RAC 中, ONS 協助程式是由 Oracle Clusterware 啟動,作為 nodeapps
的一部分。每個叢集節點都會啟動一個 ONS 常駐程式。ONS 協助程式會使用本機 EVMD
叢集軟體協助程式接收已發布之 Oracle Clusterware 事件的子集,並將這些事件轉送給應用程式訂戶和本機監聽器以協助:
- 快速應用程式通知 (FAN) 功能,可讓應用程式回應資料庫狀態變更。「快速連線容錯移轉 (FCF)」是使用 FAN 功能來達到此目的的從屬端機制。
- 負載平衡建議 (RLB 功能) 功能允許不同 RAC 節點間的負載平衡取決於不同節點上的負載。RDBMS MMON 處理作業每 30 秒會為工作分配建立建議,並使用 ONS 將工作轉送給監聽器與應用程式。
若要允許從屬端訂閱 Oracle RAC 事件,必須要有 Oracle Notification Server 代理主機。CMAN 通透地轉寄要求和回應,提供單一進入點並提供 TLS 安全性、協定切換 / 路由以及存取控制。在 CMAN 主機上執行的 Oracle Notification Server 透過 ONS 代理主機與 Oracle RAC 網路上的 ONS 伺服器通訊。訂閱 CMAN 主機上 ONS 的從屬端應用程式,使用 Oracle Notification Server 代理主機與 Oracle RAC 公用網路上的 Oracle Notification Service 進行通訊。
ons-publish-subscribe-proxy-arch-oracle.zip
ONS 使用 HTTP 協定的子集提供一般頻外訊息傳遞機制。ONS 是一種發佈 / 訂閱機制,伺服器會在其中發佈傳遞給訂閱從屬端的通知。
在 Oracle RAC 叢集中, ONS 協助程式的一個執行處理是由 Oracle Clusterware 在每個叢集節點上啟動。資料庫伺服器部署通常受防火牆保護,因此 ONS 伺服器也位於防火牆之後。伺服器會透過外部的 Oracle Notification Server 連線至可以存取防火牆外部從屬端的代理主機。代理主機會從發布內部 ONS 伺服器通知的外部 Oracle Notification Server 執行處理啟動。外部 ONS 伺服器接著會將這些通知發佈給已訂閱的用戶端。
關於必要服務與角色
此解決方案需要下列服務與角色:
- Oracle Cloud Infrastructure Networking
- Oracle Cloud Infrastructure FastConnect
- Oracle Cloud Infrastructure Compute
- Oracle Base Database Service
這些是每項服務所需的角色。
服務名稱:角色 | 必須為 ... |
---|---|
OCI 網路:manage vcn-family |
管理網路元件,包括 VCN、子網路、安全性規則和 FastConnect。 |
OCI Compute:manage instance-family |
建立運算 VM 執行處理。 |
OCI 資料庫:manage database-family |
建立基準資料庫服務執行處理。 |
請參閱 Oracle 產品、解決方案和服務,以取得您需要的內容。
架構
rac-cman-proxy-deploy- 多雲端 -arch-oracle.zip
Oracle Connection Manager ( CMAN) 部署在 OCI Compute 虛擬機器上,此虛擬機器位於相同 OCI VCN 的公用子網路上。用戶端可以使用公用子網路上的公用 IP 存取 CMAN 。在 CMAN 主機機器上配置了 ONS 伺服器和 ONS 代理伺服器。CMAN 監聽器會連線至 Oracle RAC 資料庫,而此資料庫是在防火牆之後執行。
應用程式與 Oracle 用戶端軟體會部署在 Google Cloud 的運算虛擬機器上。
您也可以使用多個連線到同一個資料庫伺服器與 ONS 的 CMAN 。在此情況下,您必須在每個 CMAN 節點上設定 ONS 代理主機和 Oracle Notification Server 。
此架構支援下列元件:
- OCI 地區
OCI 區域是本地化的地理區域,包含一或多個代管可用性網域的資料中心。區域獨立於其他地區,且遠距離能夠分離它們 (跨國家,甚至是大陸)。
- 容錯域
容錯域是可用性網域內硬體和基礎架構的群組。每個可用性網域都具有三個獨立電源和硬體的容錯域。當您將資源分散到多個容錯域時,您的應用程式就可以容忍容錯域內的實體伺服器故障、系統維護,以及電源故障。
- OCI 虛擬雲端網路與子網路
虛擬雲端網路 (VCN) 是您在 OCI 區域中設定的可自訂軟體定義網路。與傳統資料中心網路一樣,VCN 可讓您控制網路環境。VCN 可以有多個非重疊的無類別網域間路由 (CIDR) 區塊,您可以在建立 VCN 之後變更這些區塊。您可以將 VCN 分隔到子網路中,而子網路的作用領域可以調整到某個區域或可用性網域。每個子網路都是由連續的位址範圍所組成,這些位址不會與 VCN 中的其他子網路重疊。您可以在建立子網路後變更其大小。子網路可以是公用網路或專用網路。
- 可用性網域
可用性網域是區域內獨立的資料中心。每個可用性網域中的實體資源會與其他可用性網域中的資源隔離,以提供容錯能力。可用性網域不會共用基礎架構,例如電源或冷卻系統,或內部可用性網域網路。因此,一個可用性網域發生故障不應影響該區域中的其他可用性網域。
- OCI FastConnect
Oracle Cloud Infrastructure FastConnect 會在您的資料中心與 OCI 之間建立專用的專用連線。與基於網際網路的連線相比,FastConnect 提供更高的頻寬選項以及更可靠的網路體驗。
- OCI Compute
您可以使用 Oracle Cloud Infrastructure Compute 在雲端佈建及管理運算主機。您可以啟動資源配置符合 CPU、記憶體、網路頻寬和儲存資源需求的運算執行處理。建立運算執行處理之後,您可以安全地存取、重新啟動、連附及取消連附磁碟區,然後在不再需要運算執行處理時予以終止。
- Oracle Base Database Service
Oracle Base Database Service 是一項 OCI 資料庫服務,可讓您在虛擬機器上建置、擴展及管理功能完整的 Oracle 資料庫。Oracle Base Database Service 使用 OCI Block Volumes 儲存體而非本機儲存體,並可執行 Oracle Real Application Clusters (Oracle RAC) 以提高可用性。
- Oracle Linux
Oracle 將作業系統、容器和虛擬化 (現代 IT 基礎架構的基礎建構塊) 結合成一個整合產品:Oracle Linux。Oracle Linux 可根據您選擇的硬體 (在資料中心或雲端執行) 提供高要求企業工作負載的可靠性、擴展性、安全性和效能。
- Oracle Clusterware
Oracle Clusterware 可讓伺服器彼此協調,以高可用性的單位運作。這樣的伺服器組合通常稱為叢集。雖然伺服器是獨立的伺服器,但每部伺服器會與其他伺服器通訊,使個別伺服器對應用程式與一般使用者顯示為一個系統。Oracle Clusterware 也會監督叢集內的元件、重新啟動或容錯移轉資源,以確保高可用性。Oracle Clusterware 提供執行 Oracle RAC 所需的基礎架構。Oracle Clusterware 也負責管理資源,例如虛擬 IP (VIP) 位址、資料庫、監聽器、服務等等。
- Oracle 連線管理程式
Oracle Connection Manager ( CMAN) 是 Oracle 部署中使用的多用途資料庫連線代理伺服器。它通透地將從屬端應用程式要求轉送至 Oracle Database ,然後將回應轉送回從屬端應用程式。用戶端可以是使用者應用程式或中間層軟體解決方案。CMAN 會從用戶端抽象化資料庫網路層,包括 Oracle RAC 公用網路。多個資料庫可以部署在單一 CMAN 執行處理之後。因此,從屬端可以使用單一進入點進入資料庫層。CMAN 提供 TLS 安全性、協定切換 / 路由以及連線到本機和遠端 Oracle Database 的存取控制。
- Oracle Database 公事包與憑證
「資料安全性」是資料庫中最重要的任務。資料庫系統的攻擊會持續以數字和複雜度成長。確保您的資料庫系統運作可能是一項艱鉅的任務。Oracle Database 公事包是受密碼保護的容器,可儲存認證和簽署證明資料 (包括私密金鑰和憑證),讓資料庫從屬端能夠在 Oracle Database 網路間進行通訊。
Oracle Database 憑證 (公用金鑰基礎架構 (PKI) 數位憑證) 是一個公事包元件,可在使用公事包的公用金鑰或私密金鑰交換中驗證端點實體的身分。
- Oracle Notification Service
Oracle Notification Service ( ONS) 是 Oracle Grid Infrastructure 的一個元件,它會發佈 Oracle Real Application Clusters (Oracle RAC) 事件,例如伺服器負載、節點啟動或關閉等等。直接連線資料庫或使用連線集區的資料庫從屬端可以訂閱這些通知,讓它們能夠在嚴重事件期間採取動作。在應用程式和 Oracle RAC 資料庫橫跨不同雲端提供者的多雲端部署中,應用程式可以使用 CMAN 與 Oracle RAC 資料庫通訊。不過,這些階段作業無法接收外送的「快速應用程式通知 (FAN)」事件。
ONS 使用 HTTP 協定的子集提供一般頻外訊息傳遞機制。ONS 是一種發布 / 訂閱機制,可供從屬端發布傳遞給訂閱從屬端的通知。訂閱語法具有彈性,因此單一訂閱者可以符合許多不同類型的通知,或僅符合非常特定的類型。Oracle Notification Service 是在 Oracle Database 中用來作為訊息與事件系統。
- Oracle Notification 伺服器
Oracle Notification Server 執行 Oracle Notification Service ( ONS)。
- Oracle Interconnect for Google Cloud
Oracle Interconnect for Google Cloud 是一項專屬的專用互連服務,結合了 OCI FastConnect 合作夥伴連線和 Google Cloud Partner Interconnect,可協助多雲端客戶在兩個雲端進行創新,並套用現有且熟悉的工具來支援工作負載。