扩展企业套餐容量

Event Streams 容量

Event Streams 企业计划允许您在创建新服务实例时指定吞吐量和存储容量。如果在使用服务实例后,发现服务实例的当前容量配置无法满足解决方案的需求,则可以扩大吞吐量和存储容量,以满足需求。

每个基本容量或附加容量单元包括以下容量:

  • 150 MB/秒吞吐量容量。
  • 2 TB 存储容量(用于保留数据)。

例如,选择一个基本容量单元、一个附加容量单元和 4 TB 的附加存储,可获得以下容量:

  • 300 MB/秒吞吐量容量。
  • 8 TB 存储容量(用于保留数据)。

吞吐量容量

吞吐能力是建议的产生和消耗报文的最大 MB/秒。

每个容量单位可提供 150 MB/秒的吞吐量容量, 它包括 75 MB/s 的数据输入和 75 MB/s 的数据输出能力。

要扩展吞吐量容量,可以添加更多容量单位。 每个额外容量单元可为服务实例增加 150 MB/s 的吞吐量,总吞吐量达到 450 MB/s。

建议的最大吞吐量基于典型的工作负载,并考虑了操作行为或故障模式(如可用性区域的丢失)可能造成的影响。 如果平均吞吐量超过此建议数字,那么在这些状况下性能可能会下降。 将最大吞吐量容量规划为最大吞吐量的三分之二。例如,150 MB/s 最大值的三分之二是 100 MB/s。 有关容量建议和限制的更多信息,请参阅 限制和配额

虽然吞吐量缩放与存储无关,但对于每个层,都需要定义的最小存储量。

存储容量

存储容量是在服务实例中分配的用于保留消息数据的存储量。

当数据保留对架构非常重要时,存储容量可以扩大,不受吞吐能力的影响。

Event Streams 会存储数据的三个副本,以确保跨三个可用性专区实现最高级别的弹性。 如果运行您自己的 Apache Kafka 集群,并启用了相同的复制策略,那么选择 2 TB 存储容量用于 Event Streams 相当于部署了 6 TB 存储容量。

扩展组合

下表列出了有效的吞吐量和存储容量单元组合。

有效的吞吐量和存储容量单位组合
吞吐量容量 可用存储容量
150 MB/秒(75 MB/秒的生成速度和 75 MB/秒的使用速度) 2 TB、4 TB、6 TB、8 TB、10 TB、12 TB
300 MB/秒(150 MB/秒的生成速度和 150 MB/秒的使用速度) 4 TB、8 TB、12 TB
450 MB/秒(225 MB/秒的生成速度和 225 MB/秒的使用速度) 6 TB、12 TB

有关容量限制的更多信息,请参阅 限制和配额

吞吐量容量无法缩减。 要移动到较低的吞吐量容量,需要在较低的容量单位中创建新的 Event Streams 服务实例。

存储容量无法缩减。 要移动到较低的存储容量,需要在较低容量单位创建一个新的 Event Streams 服务实例。

如何扩展容量

以下步骤显示如何扩展 Event Streams Enterprise 套餐服务实例的吞吐量和存储容量。如果没有企业实例,这些步骤可以帮助你创建一个。

当前,扩展 Event Streams 服务实例容量需要使用 IBM Cloud CLI。

要安装此工具,请参阅安装 devtools

IBM Cloud CLI 命令使用 service-instance-update 命令来更新 Event Streams 服务实例资源。用于发布 service-instance- 命令的账户中的用户 ID 必须分配与创建资源时相同的访问策略。 有关访问权需求的信息,请参阅 创建资源

Kafka 中间商的数量可随着吞吐量的增加而变化。 客户端会自动使用这些额外的代理服务器,无需更改配置或重新启动,也无需更改引导服务器列表。 不过,请注意以下几点:

如果应用程序使用自定义网络解决方案(通过代理、防火墙或专用 DNS 连接)从 IBM Cloud® 外部连接,需要预先声明 Kafka 代理主机名的完整列表,则“kafka-0 至 kafka-8”的主机名应声明为服务实例分配的相同域,并使用相同的 IPv4 IP。

如果应用程序使用 VPE 从 VPC 进行连接,而 VPE 是在 2024 年 12 月之前创建的,则必须重新创建。 一旦重新创建,以后的缩放事件就不需要进一步操作了。

在扩展期间

扩展 Event Streams 服务实例所需的时间是可变的,但在正常情况下不超过 3 小时。 吞吐量和存储都需要配置额外的基础设施。

在此期间,Kafka 数据流不受影响 (缩放操作是非中断性的)。 Kafka 主题和分区添加,更新和删除操作已暂挂。 这可确保在存储卷基础架构的扩展期间保持数据的完整性。这种暂停主题和分区操作的情况只发生在缩放过程的短暂部分,而不是整个过程。

下表列出了 "throughput" 和 "storage_size" 的有效组合和值。

吞吐量 和
吞吐能力(最大值) 要指定的“throughput”值 存储容量 要指定的“storage_size”值
1 (150 MB/ 秒) 150 2 TB 2048
4 TB 4096
6 TB 6144
8 TB 8192
10 TB 10240
12 TB 12288
2 (300 MB/ 秒) 300 4 TB 4096
8 TB 8192
12 TB 12288
3 (450 MB/ 秒) 450 6 TB 6144
12 TB 12288

示例

此示例显示如何首先部署使用基本容量单元 (缺省值) 配置的服务实例:

  • 150 MB/秒吞吐量容量。
  • 2 TB 存储容量(用于保留数据)。

然后,此示例显示如何将此服务实例扩展为基本容量单元,一个额外容量单元和 4 TB 额外存储器的配置,以提供:

  • 300 MB/秒吞吐量容量。
  • 8 TB 存储容量(用于保留数据)。
  1. 如果还没有 Event Streams 服务实例,请进行创建。

    a. 登录到 IBM Cloud 控制台

    b. 单击目录中的 Event Streams 服务

    c. 在服务实例页面上,选择企业套餐

    d. 查看容量选择是否为 150 MB/秒吞吐量和 2 TB 存储容量。

    e. 输入服务实例的名称。 可以使用缺省值。

    f. 单击“创建”。 (有关创建服务实例所需的时间量的信息,请参阅 选择套餐)。

  2. 登录到 IBM Cloud CLI

    ibmcloud login
    
  3. 获取 Event Streams 服务实例的资源名称。

    ibmcloud resource service-instances
    

    (在 Name 列中,可以找到实例的名称。)

  4. 使用 Event Streams CLI 查看当前容量配置。

    要安装和使用 CLI 插件,请参阅 CLI 参考资料

    使用以下命令显示当前容量配置:

    ibmcloud es init  --instance-name  "Event Streams resource instance name"
    

    输出类似于下面的输出,显示此服务实例配置了 150 MB/s 的吞吐能力和 2 TB 的存储容量:

     API Endpoint:         https://service-instance-adsf1234asdf1234asdf1234-0000.eu-south.containers.appdomain.cloud
     Service endpoints:    public
     Storage size:         2048 GB
     Throughput:           150 MB/s
    
  5. 将服务实例从 150 MB/s 吞吐能力和 2 TB 存储容量扩展到 300 MB/s 吞吐能力和 8 TB 存储容量

    a. 从 CLI 运行以下命令。

    ibmcloud resource service-instance-update "Event Streams resource instance name" -p '{"throughput":"300","storage_size":"8192"}'
    

    b. 如果在运行 ibmcloud resource service-instance-update 命令时遇到问题,需要联系 IBM 支持中心寻求帮助、运行以下命令,并在联系支持部门时提供输出结果。

    ibmcloud resource service-instance "Event Streams resource instance name" --output=json
    
  6. 监视服务实例的更新。

    扩展过程可能需要几分钟到三小时不等,具体取决于需要为服务实例分配哪些新资源。

    您可以使用以下命令获取当前服务实例信息。

    ibmcloud resource service-instance "Event Streams resource instance name" --output=json
    

    查看 Last Operation 部分的输出结果。在更新过程中,信息会不断更新。扩展过程完成后,最后一次操作信息会显示更新成功或同步成功。

    再次运行该命令,直到显示成功。

  7. 使用 Event Streams CLI 验证扩展容量配置。

    使用以下命令显示容量配置。

    ibmcloud es init  --instance-name  "Event Streams resource instance name"
    

    输出与下面的输出类似,显示此服务实例配置了 300 MB/s 的吞吐能力和 8 TB 的存储容量。

    API Endpoint:         https://service-instance-adsf1234asdf1234asdf1234-0000.eu-south.containers.appdomain.cloud
    Service endpoints:    public
    Storage size:         8192 GB
    Throughput:           300 MB/s