关于使用 Oracle Notification Server 代理的 Oracle Database Cloud Services
Oracle Connection Manager ( CMAN ) 可以透明地转发连接请求和响应、提供入口点并提供 TLS 安全性、协议切换/路由和访问控制,从而简化多云部署,其中数据库和应用位于不同的 cloud service 提供商上。
在此解决方案手册中,您将了解如何将单个 CMAN 实例与 Oracle Database 结合使用,以创建与 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 数据库进行通信。但是,这些会话无法接收出站的快速应用程序通知 (Fast Application Notification,FAN) 事件。
在 Oracle RAC 中, ONS 守护进程由 Oracle Clusterware 作为 nodeapps
的一部分启动。每个群集节点启动一个 ONS 守护进程。ONS 守护进程使用本地 EVMD
Clusterware 守护进程接收已发布的 Oracle Clusterware 事件的子集,并将这些事件转发给应用程序订户和本地监听程序,以便于:
- 快速应用程序通知 (Fast Application Notification,FAN) 功能允许应用程序响应数据库状态更改。快速连接故障转移 (Fast Connection Failover,FCF) 是客户机机制,它使用 FAN 功能来实现此功能。
- 允许在不同 RAC 节点之间进行负载平衡的负载平衡指导(RLB 功能)功能取决于不同节点上的负载。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 网络
- Oracle Cloud Infrastructure FastConnect
- Oracle Cloud Infrastructure(计算)
- Oracle Base Database Service
这些是每项服务所需的角色。
服务名称:角色 | 必需以 ... |
---|---|
OCI 网络:manage vcn-family |
管理网络组件,包括 VCN、子网、安全规则和 FastConnect。 |
OCI 计算:manage instance-family |
创建计算 VM 实例。 |
OCI 数据库:manage database-family |
创建基本数据库服务实例。 |
观看 Oracle 产品、解决方案和服务,了解您的需求。
体系结构
rac-cman-proxy-deploy-multicloud-arch-oracle.zip
Oracle Connection Manager ( CMAN ) 部署在 OCI Compute 虚拟机上,该虚拟机位于同一 OCI VCN 的公共子网中。客户机可以使用公共子网上的公共 IP 访问 CMAN 。ONS 服务器和 ONS 代理是在 CMAN 主机上配置的。CMAN 监听程序连接到在防火墙后运行的 Oracle RAC 数据库。
Oracle 客户端软件的应用部署在 Google Cloud 中的计算虚拟机上。
还可以使用连接到同一数据库服务器和 ONS 的多个 CMAN 。在这种情况下,必须在每个 CMAN 节点上配置 ONS 代理和 Oracle Notification Server 。
此体系结构支持以下组件:
- OCI 地区
OCI 区域是一个本地化的地理区域,其中包含一个或多个托管可用性域的数据中心。区域独立于其他区域,并且很远的距离可以将它们分开(跨越国家甚至大洲)。
- 容错域
容错域是可用性域内的一组硬件和基础设施。每个可用性域都具有三个具有独立电源和硬件的容错域。在多个容错域之间分配资源时,您的应用可以容忍容错域内的物理服务器故障、系统维护和电源故障。
- OCI 虚拟云网络和子网
虚拟云网络 (VCN) 是您可以在 OCI 区域中设置的可定制软件定义网络。与传统数据中心网络一样,VCN 允许您控制网络环境。一个 VCN 可以具有多个不重叠的无类域间路由 (classless inter-domain routing,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 (virtual IP,VIP) 地址、数据库、监听程序、服务等。
- Oracle Connection Manager
Oracle Connection Manager ( CMAN ) 是 Oracle 部署中使用的多用途数据库连接代理。它透明地将客户机应用程序请求转发到 Oracle Database 并将响应转发回客户机应用程序。客户端可以是用户应用程序或中间层软件解决方案。CMAN 从客户机抽象数据库网络层,包括 Oracle RAC 公共网络。可以在单个 CMAN 实例后部署多个数据库。因此,客户机可以使用进入数据库层的单个入口点。CMAN 提供 TLS 安全性、协议切换/路由以及访问控制,用于连接到本地和远程 Oracle Database 。
- Oracle Database 钱包和证书
数据安全性是数据库中最重要的任务。对数据库系统的攻击在数量和复杂性方面继续增长。确保数据库系统正常运行是一项艰巨的任务。Oracle Database wallet 是受密码保护的容器,用于存储验证和签名身份证明,包括使数据库客户机能够通过 Oracle Database 网络进行通信的私钥和证书。
Oracle Database 证书(公钥基础结构 (Public Key Infrastructure,PKI) 数字证书)是一个 wallet 组件,用于验证使用 wallet 的公钥或私钥交换中终端实体的身份。
- Oracle 通知服务
Oracle Notification Service ( ONS ) 是 Oracle Grid Infrastructure 的一个组件,用于发布 Oracle Real Application Clusters (Oracle RAC) 事件,例如服务器负载、节点启动或关闭等。直接连接到数据库或使用连接池的数据库客户端可以订阅这些通知,从而使它们能够在关键事件期间执行操作。在多云部署中,应用和 Oracle RAC 数据库跨越不同的云提供商,应用可以使用 CMAN 与 Oracle RAC 数据库进行通信。但是,这些会话无法接收出站的快速应用程序通知 (Fast Application Notification,FAN) 事件。
ONS 提供了使用 HTTP 协议子集的一般带外消息传送机制。ONS 是一种发布/订阅机制,客户机在该机制中发布传送到订阅客户机的通知。订阅语法非常灵活,这样单个用户可以匹配许多不同类型的通知,或者只匹配非常特定的类型。Oracle Notification Service 在 Oracle Database 中用作消息传递和事件系统。
- Oracle Notification Server
Oracle Notification Server 运行 Oracle Notification Service ( ONS ) 。
- Oracle Interconnect for Google Cloud
Oracle Interconnect for Google Cloud 是一个专用互连服务,结合了 OCI FastConnect 合作伙伴连接和 Google Cloud Partner Interconnects,可帮助多云客户跨两个云进行创新,并应用现有和熟悉的工具来支持工作负载。