了解如何使用 OCI 负载平衡器中的定制错误页面增强用户体验

一般的 HTTP 错误响应,如“502 Bad Gateway”是无益的,无品牌的,在中断期间会降低用户体验。本手册介绍了如何使用负载平衡器和 API 网关在 Oracle Cloud Infrastructure (OCI) 上实施信息丰富的品牌定制错误页面。 这种方法可以保持品牌一致性(例如徽标、颜色和消息传递),提供切实可行的指导(后续步骤或支持联系人),并在停机时提供专业、用户友好的响应,从而保持用户信任。

体系结构

此架构展示了 OCI 组件的简单示例部署,以实施自动故障转移机制来显示定制错误消息。



custom-error-lb-arch-oracle.zip

此体系结构的功能如下:

正常操作

  1. 用户访问:最终用户通过 OCI Load Balancer 的公共 IP 地址通过互联网网关访问应用。
  2. 流量分配:负载平衡器的应用程序监听程序(监听程序 1)接收此流量并将其分布在可用的健康后端服务器中,这些后端服务器是在专用子网中部署的 OCI 计算虚拟机 (VM) 实例。

失败状态:激活维护页

  1. 触发器:如果所有后端服务器都不健康,则会触发 OCI 监视预警。
  2. 操作:此预警将触发通知,该通知将激活自动功能(使用无服务器 OCI 函数部署)。
  3. 逻辑:该函数解析报警通知中的数据。如果通知包含关键字 OK_TO_FIRING(指示新故障),则该函数会对负载平衡器进行 API 调用。
  4. 结果:函数的 API 调用会调用将 "Maintenance-Page" 规则集附加到负载平衡器的应用程序监听程序(监听程序 1)的操作。此新规则强制将所有传入通信重定向到单独的监听程序(监听程序 2),该监听程序为用户友好的维护页提供服务。

恢复状态:恢复正常服务

  1. 触发器:后端服务器恢复并重新运行后, OCI 监视服务将发送新通知。
  2. 操作:此恢复通知触发了 OCI Functions 中的相同自动功能。
  3. 逻辑:该函数解析新通知。如果找到关键字 FIRING_TO_OK,则函数对负载平衡器执行不同的 API 调用。
  4. 结果:此 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 BalancerOCI MonitoringOCI API Gateway ,并在 OCI Functions 中创建函数。

观看 Oracle 产品、解决方案和服务,了解您的需求。