

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 标准代理的分层存储
<a name="msk-tiered-storage"></a>

分层存储是 Amazon MSK 的低成本存储层，可扩展到几乎无限的存储空间，支持经济高效地构建流数据应用程序。

您可以创建配置有能平衡性能和成本的分层存储的 Amazon MSK 集群。Amazon MSK 将流数据存储在性能优化型主存储层中，直到数据达到 Apache Kafka 主题的保留期限。然后，Amazon MSK 会自动将数据移入新的低成本存储层。

当应用程序开始从分层存储中读取数据时，前几个字节的读取延迟可能会增加。开始按顺序从低成本层读取其余数据时，可能会出现与主存储层类似的延迟。您无需为低成本分层存储预置任何存储，也不需要管理基础设施。您可以存储任意数量的数据，但只需按实际用量付费。此功能与 [KIP-405：Kafka 分层存储](https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage)中 APIs 引入的功能兼容。

有关 MSK 分层存储集群调整大小、监控和优化的信息，请参阅[使用 Amazon MSK 分层存储运行生产工作负载的最佳实践](https://aws.amazon.com/blogs/big-data/best-practices-for-running-production-workloads-using-amazon-msk-tiered-storage/)。

以下是分层存储的一些功能：
+ 您可以扩展到几乎无限的存储空间，不必猜测如何扩展 Apache Kafka 基础设施。
+ 您可以在 Apache Kafka 主题中延长数据保留时间，也可以增加主题存储空间，不必增加代理数量。
+ 其提供了持续时间更长的安全缓冲区来应对处理中的意外延迟。
+ 您可以使用现有的流处理代码和 Kafka APIs 按精确的生产顺序重新处理旧数据。
+ 分区重新平衡速度更快，因为二级存储上的数据不需要跨代理磁盘进行复制。
+ 代理和分层存储之间的数据只会在 VPC 内移动，而不会通过互联网进行传输。
+ 客户端计算机连接到启用了分层存储的新集群的过程，与连接到未启用分层存储的集群的过程相同。请参阅[创建客户端计算机](https://docs.aws.amazon.com/msk/latest/developerguide/create-client-machine.html)。

## Amazon MSK 集群的分层存储要求
<a name="msk-tiered-storage-requirements"></a>
+ 您必须使用 Apache Kafka 客户端版本 3.0.0 或更高版本来创建启用了分层存储的新主题。要将现有主题过渡到分层存储，您可以重新配置使用低于 3.0.0 的 Kafka 客户端版本（支持的最低 Apache Kafka 版本为 2.8.2.tiered）的客户端计算机来启用分层存储。请参阅[步骤 4：在 Amazon MSK 集群中创建主题](create-topic.md)。
+ 启用了分层存储的 Amazon MSK 集群必须使用 3.6.0 或更高版本或者 2.8.2.tiered。

## Amazon MSK 集群的分层存储约束和限制
<a name="msk-tiered-storage-constraints"></a>

分层存储存在以下约束和限制：
+ 确保客户端在从 Amazon MSK 中的 remote\_tier 读取时未配置为 `read_committed`，除非应用程序正在主动使用事务功能。
+ 分层存储在 AWS GovCloud （美国）地区不可用。
+ 分层存储仅适用于预置模式集群。
+ 分层存储不支持代理大小 t3.small。
+ 低成本存储的最短保留期为 3 天。主存储不存在最短保留期。
+ 分层存储不支持代理上的多个日志目录（与 JBOD 相关的功能）。
+ 分层存储不支持压缩主题。确保所有已开启分层存储的主题已将 cleanup.policy 配置为只能 “删除”。
+ 分层存储集群不支持在主题创建后更改其 log.cleanup.policy 策略。
+ 可以为单个主题禁用分层存储，但不能禁用整个集群的分层存储。一旦禁用，就无法再为主题启用分层存储。
+ 如果使用 Amazon MSK 版本 2.8.2.tiered，则只能迁移到另一个支持分层存储的 Apache Kafka 版本。如果不想继续使用支持分层存储的版本，请创建一个新的 MSK 集群并将您的数据迁移到该集群。
+ 该 kafka-log-dirs工具无法报告分层存储数据大小。该工具只会报告主存储中日志段的大小。

有关在主题级别配置分层存储时必须注意的默认设置与限制的信息，请参阅[Amazon MSK 分层存储主题级别的配置指南](msk-guidelines-tiered-storage-topic-level-config.md)。