了解如何使用 OCI 负载平衡器中的定制错误页面增强用户体验
体系结构
此架构展示了 OCI 组件的简单示例部署,以实施自动故障转移机制来显示定制错误消息。
custom-error-lb-arch-oracle.zip
此体系结构的功能如下:
正常操作
- 用户访问:最终用户通过 OCI Load Balancer 的公共 IP 地址通过互联网网关访问应用。
- 流量分配:负载平衡器的应用程序监听程序(监听程序 1)接收此流量并将其分布在可用的健康后端服务器中,这些后端服务器是在专用子网中部署的 OCI 计算虚拟机 (VM) 实例。
失败状态:激活维护页
- 触发器:如果所有后端服务器都不健康,则会触发 OCI 监视预警。
- 操作:此预警将触发通知,该通知将激活自动功能(使用无服务器 OCI 函数部署)。
- 逻辑:该函数解析报警通知中的数据。如果通知包含关键字
OK_TO_FIRING(指示新故障),则该函数会对负载平衡器进行 API 调用。 - 结果:函数的 API 调用会调用将 "Maintenance-Page" 规则集附加到负载平衡器的应用程序监听程序(监听程序 1)的操作。此新规则强制将所有传入通信重定向到单独的监听程序(监听程序 2),该监听程序为用户友好的维护页提供服务。
恢复状态:恢复正常服务
- 触发器:后端服务器恢复并重新运行后, OCI 监视服务将发送新通知。
- 操作:此恢复通知触发了 OCI Functions 中的相同自动功能。
- 逻辑:该函数解析新通知。如果找到关键字
FIRING_TO_OK,则函数对负载平衡器执行不同的 API 调用。 - 结果:此 API 调用从应用程序监听程序中删除 "Maintenance-Page" 规则集。正常通信流将立即恢复,以允许用户访问应用程序。
此体系结构支持以下组件:
- OCI 地区
OCI 区域是一个本地化的地理区域,其中包含一个或多个托管可用性域的数据中心。区域独立于其他区域,并且很远的距离可以将它们分开(跨越国家甚至大洲)。
- OCI 虚拟云网络和子网
虚拟云网络 (VCN) 是您可以在 OCI 区域中设置的可定制软件定义网络。与传统数据中心网络一样,VCN 允许您控制网络环境。一个 VCN 可以具有多个不重叠的无类域间路由 (classless inter-domain routing,CIDR) 块,在创建 VCN 后可以更改这些块。您可以将 VCN 细分为多个子网,这些子网可以限定为某个区域或某个可用性域。每个子网由一系列不与 VCN 中的其他子网重叠的连续地址组成。您可以在创建子网后更改子网的大小。子网可以是公共子网,也可以是专用子网。
- Internet 网关
互联网网关允许 VCN 中的公共子网与公共互联网之间的流量。
- 负载平衡器
Oracle Cloud Infrastructure Load Balancer 提供从单个入口点到多个服务器的自动流量分配。
- OCI Compute
借助 Oracle Cloud Infrastructure Compute ,您可以在云中预配和管理计算主机。您可以启动具有配置的计算实例,以满足您在 CPU、内存、网络带宽和存储方面的资源需求。创建计算实例后,您可以安全地访问它,重新启动它,附加和分离卷,并在不再需要时终止它。
- OCI API 网关
借助 Oracle Cloud Infrastructure API Gateway ,您可以发布具有专用端点的 API,这些端点可从您的网络访问,并且您可以根据需要向公共互联网公开。这些端点支持 API 验证、请求和响应转换、CORS、验证和授权以及请求限制。
- OCI 功能
Oracle Cloud Infrastructure Functions 是一个完全托管、多租户、高度可扩展、按需提供的函数即服务 (FaaS) 平台。它由 Fn Project 开源引擎提供支持。使用 OCI Functions ,您可以部署代码,直接调用代码或触发代码以响应事件。OCI Functions 使用 Oracle Cloud Infrastructure Registry 中托管的 Docker 容器。
- OCI 监视
Oracle Cloud Infrastructure Monitoring 主动和被动地监视您的云资源,并使用预警在指标满足指定触发器时通知您。
- OCI 通知
OCI 通知使用低延迟的发布 - 订阅模式向分布式组件广播消息,为 OCI 上托管的应用提供安全、高度可靠、持久的消息。
- 服务网关
通过服务网关,您可以从 VCN 访问其他服务,例如 Oracle Cloud Infrastructure Object Storage 。从 VCN 到 Oracle 服务的流量将通过 Oracle 网络结构传输,不会通过互联网。
关于必需的服务和角色
此解决方案需要以下服务和角色:
-
Oracle Cloud Infrastructure
这些是每项服务所需的角色。
| 服务名称:角色 | 需要 ... |
|---|---|
| Oracle Cloud Infrastructure :管理员 | 配置 OCI Load Balancer 、 OCI Monitoring 和 OCI API Gateway ,并在 OCI Functions 中创建函数。 |
观看 Oracle 产品、解决方案和服务,了解您的需求。
