可扩展性设计

可扩展系统可提供弹性。通过自动添加和删除资源,资源可以在任何给定时间点更紧密地匹配当前需求。

扩展云资源以满足您的负载要求

Enterprise Architect, Cloud Architect, Cloud Operations Manager

确定工作负载不同使用级别所需的计算和存储资源。您可以通过横向扩展(横向扩展)或纵向扩展(纵向扩展)来添加资源。
  • 横向扩展意味着为您的负载添加更多计算实例。这比垂直扩展更具成本效益,并提供更好的高可用性。大多数无状态应用最适合横向扩展,其中会话存储在集中式数据存储(数据库、像 redis 这样的持久性高速缓存)中,而不是在计算实例上。
  • 垂直扩展意味着向计算实例添加更多 OCPU 核心。例如,将 Oracle Cloud Infrastructure Compute 或数据库实例更改为更大的配置。

有些资源具有完全弹性,有些资源是自动按原生方式扩展的,有些资源支持通过可用于自动扩展的 API 进行扩展。确定可以自动扩展的资源,并将其用于扩展工作负载使用量。如果您的工作负载允许,选择自动扩展的服务可以从根本上降低环境的运营复杂性。

以下 Oracle Cloud Infrastructure 服务支持扩展:

  • Oracle Cloud Infrastructure 对象存储

    提供互联网规模的高性能存储平台,可提供可靠且经济高效的数据持久性。对象存储服务可以存储任意内容类型的非结构化数据(包括分析数据和丰富内容,例如图像和视频)。对象存储提供了多个管理接口,便于您大规模地管理存储。该平台的弹性让您可以从小规模起步并无缝扩展,而不会导致性能或服务可靠性下降。这是一个区域服务。

  • Oracle Cloud Infrastructure 文件存储

    是一种弹性可扩展文件系统,支持从 KB 到 PB 的数据。

  • Oracle Cloud Infrastructure Compute 自动缩放

    使您能够根据 CPU 占用率等性能度量自动调整实例池中的计算实例数。这有助于在高需求期间为最终用户提供一致的性能,并有助于在低需求期间降低成本。选择要监视的绩效指标,并设置绩效指标必须达到的阈值才能触发自动缩放事件。当系统使用量达到阈值时,自动缩放会近乎实时地动态分配资源。随着负载的增加,会自动预配实例:实例池向外扩展。随着负载的减少,会自动删除实例:实例池将缩放。

  • Oracle Cloud Infrastructure Compute 配置

    您可以使用 API 调整实例的配置。标准配置按增量分配 CPU 和内存,而灵活的配置支持从 1 个 CPU 到 64 个 CPU 的任何 CPU 配置。您可以使用 Oracle Cloud Infrastructure Monitoring 服务监视 VM 度量,并在满足特定度量时发出预警。预警通知可以根据需要调用函数来调整 VM 的配置。

    注意:

    缩放 VM 实例将导致重新引导。
  • Oracle Cloud Infrastructure Functions

    OCI Functions 提供了一个完全托管、高度可扩展的按需函数即服务平台,该平台基于企业级 Oracle Cloud Infrastructure 构建,由 Fn Project 开源引擎提供支持。当您希望专注于编写代码以满足业务需求时,请使用 OCI 函数。您不必担心底层基础设施,因为 OCI Functions 将确保您的应用具有高可用性、可扩展性、安全性和受监视性。您可以部署代码、直接调用代码或触发代码以响应事件,并且只能对执行过程中使用的资源计费。

  • Oracle Cloud Infrastructure Load Balancing 服务

    负载平衡器在需要时可以动态更改其带宽。您可以使用 API 自动完成此扩展。

  • Oracle Autonomous Database

    Oracle Autonomous Database 提供高达 OCPU 三倍的自动缩放功能,无需调用单独的 API 即可自动缩放。您还可以使用 API 自动扩展。Oracle Autonomous Database 支持您在不影响系统的情况下纵向扩展或收缩 CPU 或存储。

  • 虚拟机数据库系统

    VM 数据库系统允许您更改 VM 数据库系统的配置。您可以使用 API 自动完成此扩展。您还可以联机扩展 VM 数据库系统的存储,而 Oracle 提供了 Oracle 动态缩放实用程序。

    注意:

    更改 VM 数据库系统的配置将导致其重新启动。对于多节点 VM 数据库系统,这是以滚动方式完成的,以保持服务的可用性。确保在应用程序服务上配置耗尽超时,以配置缩放操作在排空服务器会话之前等待缩放操作的时间。
  • Oracle Exadata Database Service

    Oracle Exadata Database Service 支持您扩展或收缩现有节点的 CPU,而无需停机。X8M 或更高版本允许您向群集添加数据库和存储节点,以增加 CPU、存储或两者。您可以使用 API 或 Oracle 动态缩放实用程序自动执行此缩放。

在可用性域和区域之间分配流量

Enterprise Architect, Cloud Architect, Cloud Operations Manager

可以使用负载平衡、DNS 和流量管理引导策略在多个可用性域、容错域和区域之间分配流量。

使用以下服务在多个可用性域、容错域和区域之间分配流量:

  • Region、Availability Domains 和 Fault Domains

    Oracle Cloud Infrastructure 托管在区域和可用性域中。区域是指本地的地理区域,可用性域是指区域中的一个或多个数据中心。区域包含一个或多个可用性域。大多数 Oracle Cloud Infrastructure 资源都特定于区域(例如虚拟云网络),或者特定于可用性域(例如计算实例)。可用性域之间和区域之间的流量将加密。

    容错域是可用性域内的一组硬件和基础设施。每个可用性域都包含三个容错域。故障域提供反关联性:它们允许您分配实例,使这些实例不位于单个可用性域内的同一物理硬件上。影响一个故障域的硬件故障或计算硬件维护事件不会影响其他故障域中的实例。

  • Oracle Cloud Infrastructure 域名系统 (DNS)

    通过 Oracle Cloud Infrastructure 域名系统 (Domain Name System,DNS) 服务,您可以创建和管理 DNS 区域。您可以创建区域、向区域添加记录,并允许 Oracle Cloud Infrastructure 的边缘网络处理域的 DNS 查询。

  • Oracle Cloud Infrastructure 流量管理引导策略

    Oracle Cloud Infrastructure 流量管理引导策略服务可帮助您根据各种条件(包括端点健康状况和 DNS 请求的地理来源)将流量引导至您的端点。

    您可以将策略配置为针对 DNS 查询提供智能响应,这意味着可以根据客户在策略中定义的逻辑为查询提供不同的答案(端点)。流量管理引导策略可以考虑答案的健康状况,从而提供故障转移功能,支持在多个资源之间对流量进行负载平衡,并确定启动查询的位置,从而提供简单、灵活和强大的机制来高效地引导 DNS 流量。

  • Oracle Cloud Infrastructure 负载平衡

    Oracle Cloud Infrastructure Load Balancing 服务可将流量从一个入口点自动分发到可从虚拟云网络 (VCN) 访问的多台服务器。

    该服务提供负载平衡器,您可以选择公共或专用 IP 地址以及预配的带宽。负载平衡器可提高资源利用率,促进扩展,并有助于确保高可用性。您可以配置多个负载平衡策略和特定于应用程序的健康检查,以确保负载平衡器将流量仅导向到健康的实例。在将不健康的应用服务器流量从维护服务中删除之前,负载平衡器可以减少维护窗口。

执行加载测试

云架构师,云运营经理,应用开发人员

采用负载测试方法来衡量缩放活动是否满足您的应用要求。对应用程序执行常规负载测试以验证缩放方法。确保测试用例反映真实用户流量,如果可能的话,因为人工测试可能会提供虚假的信心感。