

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

# 选择部署选项
<a name="WhatIs.deployment"></a>

Amazon ElastiCache 有两个部署选项：
+ 无服务器缓存
+ Node-based 集群

有关两者支持的命令的列表，请参阅[支持的和限制的 Valkey、Memcached 和 Redis OSS 命令](SupportedCommands.md)。

**无服务器缓存**

Amazon ElastiCache Serverless 简化了缓存的创建并可即时扩展以支持客户要求最苛刻的应用程序。借 ElastiCache 助 Serverless，您可以在不到一分钟的时间内创建高度可用且可扩展的缓存，无需预置、规划和管理集群容量。 ElastiCache Serverless 自动在三个可用区之间冗余存储数据，并提供 99.99% 的可用性服务级别协议 (SLA)。Valkey 或 Redis OSS 基于节点的集群的备份可以还原到无服务器配置。

**Node-based 集群**

如果你需要精细控制你的 Valkey、Memcached 或 Redis OSS 集群，你可以使用创建基于节点的集群。 ElastiCache您可以为集群选择节点类型、节点数量和跨 AWS 可用区的节点放置。由于 ElastiCache 是一项完全托管的服务，因此它可以帮助管理集群的硬件配置、监控、节点更换和软件修补。 Node-based 集群可以设计为提供高达 99.99% 的可用性 SLA。无服务器 Valkey 或 Redis OSS 缓存中的备份可以还原到基于节点的集群。

**选择部署选项**

在以下情况下，选择无服务器缓存：
+ 您正在为新的或难以预测的工作负载创建缓存。
+ 您具有不可预测的应用程序流量。
+ 您想以最轻松的方式开始使用缓存。

在以下情况下，创建您自己的基于节点的集群：
+ 你已经在运行 ElastiCache Serverless 了，想更精细地控制运行 Valkey、Memcached 或 Redis OSS 的节点类型、节点的数量以及这些节点的位置。
+ 您希望应用程序流量相对可预测，并希望对性能、可用性和成本进行精细控制。
+ 您可以预测容量要求以控制成本。​

## 比较无服务器缓存和基于节点的集群
<a name="WhatIs.deployment.comparing"></a>


| 功能 | 无服务器缓存 | Node-based 集群 | 
| --- | --- | --- | 
| 缓存设置 | 在一分钟内创建缓存，只需一个名称 | 提供对集群设计的精细控制。用户可以选择节点类型、节点数量和跨 AWS 可用区域的位置 | 
| 支持的 ElastiCache 版本 | Valkey 7.2 及更高版本、Redis OSS 7.1 及更高版本、Memcached 1.6.22 及更高版本 | Valkey 7.2 及更高版本、Redis OSS 4.0 及更高版本、Memcached 1.4 及更高版本 | 
| 集群模式（Valkey 和 Redis OSS） | 仅在 `cluster mode enabled` 下操作引擎。客户端必须支持`cluster mode enabled`才能连接到 ElastiCache 无服务器。 | 可以配置为在启用集群模式或禁用集群模式下运行。 | 
| 扩展 | 无需任何容量管理即可自动对引擎进行垂直扩缩和水平扩缩。 | 提供对扩缩的控制，同时还要求进行监控，以确保当前容量足以满足需求。<br />对于 Valkey 和 Redis OSS，您可以选择根据需要增加或减小缓存节点大小来垂直扩缩。您也可以通过添加新分片或向分片添加更多副本来水平扩展。Memcached 不提供此功能。<br />借助该 Auto-Scaling 功能，您还可以根据计划配置缩放，或者根据缓存上的 CPU 和内存使用率等指标进行扩展。 | 
| 客户端连接 | 客户端连接到单个端点。这使得底层缓存节点拓扑（扩展、替换和升级）可以在不断开客户端连接的情况下进行更改。 | 客户端连接到每个单独的缓存节点。如果节点被替换，客户端会重新发现集群拓扑并重新建立连接。 | 
| 可配置性 | 不提供精细配置。客户可以配置基本设置，包括可以访问缓存的子网、自动备份的开启或关闭以及缓存的最大使用限制。 | Node-based 集群提供了精细的配置选项。客户可以使用参数组进行精细控制。有关由节点类型决定的这些参数值的表，请参阅[引擎特定参数](ParameterGroups.Engine.md)。 | 
| Multi-AZ | 数据在多个可用区之间异步复制，以提高可用性并缩短读取延迟。 | 提供在单个可用区中或跨多个可用区（AZ）创建集群的选项。使用 Valkey 或 Redis OSS 时，为 Multi-AZ 集群提供跨多个可用区异步复制的数据，以提高可用性并缩短读取延迟。 | 
| 静态加密 | 始终启用。客户可以在中使用 AWS 托管式密钥 或客户管理的密钥 AWS KMS。 | 启用或禁用静态加密的选项。启用后，客户可以在中使用 AWS 托管式密钥 或客户管理的密钥 AWS KMS。 | 
| 传输中加密（TLS） | 始终启用。客户端必须支持 TLS 连接。 | 启用或禁用的选项。 | 
| 备份 | 支持自动和手动备份缓存，不会影响性能。<br />Valkey 和 Redis OSS 备份是交叉兼容的，可以还原到 ElastiCache 无服务器缓存或基于节点的集群中。 | 支持 Valkey 和 Redis OSS 的自动和手动备份。集群可能会受到一些性能影响，具体取决于可用的预留内存。有关更多信息，请参阅 [管理 Valkey 和 Redis OSS 的预留内存](redis-memory-management.md)。<br />Valkey 和 Redis OSS 备份是交叉兼容的，可以还原到 ElastiCache 无服务器缓存或基于节点的集群中。 | 
| 监控 | 支持缓存级别指标，包括缓存命中率、缓存未命中率、数据大小和消耗的 ECPU。<br />ElastiCache Serverless 使用缓存中发生重大事件 EventBridge 时发送事件。您可以选择使用 Amazon EventBridge 监控、摄取、转换和 ElastiCache 处理事件。有关更多信息，请参阅 [无服务器缓存事件](serverless-metrics-events-redis.md#serverless-events)。 | Node-based ElastiCache 集群在每个节点级别发布指标，包括主机级别的指标和缓存指标。<br />Node-based 集群会针对重大事件发出 SNS 通知。请参阅[Memcached 的指标](CacheMetrics.Memcached.md)和[Valkey 和 Redis OSS 的指标](CacheMetrics.Redis.md)。 | 
| 可用性 | 99.99% 可用性[服务水平协议（SLA）](https://aws.amazon.com/elasticache/sla/) | Node-based 根据配置，可以将集群设计为实现高达 99.99% 的可用性[服务级别协议 (SLA)](https://aws.amazon.com/elasticache/sla/)。 | 
| 软件升级和修补 | 自动将缓存软件升级到最新的次要版本和补丁版本，而不会影响应用程序。客户会收到主要版本升级的通知，可以随时升级到最新的主要版本。 | Node-based 集群为次要版本和补丁版本升级以及主要版本升级提供客户支持的自助服务。管理更新会在客户定义的维护时段自动应用。客户还可以选择按需应用次要版本或补丁版本升级。 | 
| 全局数据存储  | 不支持  | 支持全局数据存储，支持通过单区域写入和多区域读取实现跨区域复制 | 
| 数据分层 | 不支持 | 使用 r6gd 系列节点创建的集群将在内存和本地 SSD（固态硬盘）存储之间进行数据分层。借助数据分层功能，除可在内存中存储数据外，还可以在每个集群节点中使用成本更低的固态硬盘（SSD），从而为 Valkey 和 Redis OSS 工作负载提供高性价比选择。 | 
| 定价模式 | Pay-per-use，基于存储在 ElastiCache 处理单元 (ECPU) 中的数据 GB-hours 和请求。请参阅[此处](https://aws.amazon.com/elasticache/pricing/)的定价详细信息。 | Pay-per-hour，基于缓存节点的使用情况。请参阅[此处](https://aws.amazon.com/elasticache/pricing/)的定价详细信息。 | 

相关主题:
+ [创建和管理基于节点的集群 ElastiCache创建和管理基于节点的集群 ElastiCache ](designing-elasticache-cluster.md)