ElastiCache 适用于 Memcached 组件和功能 - Amazon ElastiCache
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

ElastiCache 适用于 Memcached 组件和功能

接下来,您可以找到亚马逊版 Memcached 部署的主要组件 ElastiCache 的概述。

ElastiCache 节点

节点是 ElastiCache 部署的最小构建块。一个节点可独立于其他节点存在,也可与其他节点之间有某种关系。

节点是固定大小、与网络连接的安全 RAM 区块。每个节点都运行 Memcached 的一个实例。如果需要,您可以将集群中的节点纵向扩展或缩减到不同的实例类型。有关更多信息,请参阅扩展 ElastiCache for Memcached

一个集群中的每个节点都是相同的实例类型且运行相同的缓存引擎。每个缓存节点都有自己的域名服务 (DNS) 名称和端口。支持多种缓存节点类型,每种可有不同的关联内存量。有关受支持的节点实例类型的列表,请参阅受支持的节点类型

您可以 pay-as-you-go 按需购买节点,您只需为使用节点付费。您也可以大大降低的小时费率购买预留节点。如果使用率高,则购买预留节点可节省资金。假设您的集群几乎始终在使用中,并且您有时会添加节点来满足使用峰值的需求。在这种情况下,您可以购买多个预留节点以在大多数时间运行,并在偶尔需要添加 pay-as-you-go 节点的时间购买节点。有关预留节点的更多信息,请参阅ElastiCache 预留节点

Memcached 引擎支持 Auto Discovery。自动发现能使客户端程序自动识别缓存群集中的所有节点,并且启动和维护所有这些节点的连接。有了 Auto Discovery,您的应用程序无需手动连接至各个节点。相反,您的应用程序连接到配置终端节点。配置终端节点 DNS 条目包含各个缓存节点终端的 CNAME 条目。因此,通过连接到配置终端节点,您的应用程序便可立即知道集群中所有节点的信息,同时能够连接到所有节点。您无需对应用程序中的单个缓存节点终端节点进行硬编码。有关更多信息,请参阅自动发现

有关节点的更多信息,请参阅管理节点

ElastiCache 适用于内存缓存集群

Memcached 集群 是一个或多个ElastiCache 节点的逻辑分组。跨 Memcached 集群中的节点对数据进行分区。

许多 ElastiCache 操作都是针对集群的:

  • 创建集群

  • 修改集群

  • 删除集群

  • 查看集群中的元素

  • 在集群中添加和删除成本分配标签

有关更多详细信息,请参阅以下相关主题:

典型集群配置

Memcached 为每个 Amazon 区域的每个客户最多支持 300 个节点,每个集群有 1-60 个节点。您可以跨 Memcached 集群中的节点对数据进行分区。

当你运行 Memcached 引擎时,集群可以由 1-60 个节点组成。您可以将数据库分配到多个节点上。应用程序会对每个节点的终端节点进行读写操作。有关更多信息,请参阅自动发现

为了提高容错能力,请在集群区域内的各个可用区 (AZ) 中找到 Memcache Amazon d 节点。这样一来,可最大程度地减小某个可用区内的故障对整个集群和应用程序的影响。有关更多信息,请参阅缓解故障

由于 Memcached 集群需求不断变化的,您可通过添加或删除节点来进行向外扩展或向内扩展,从而跨新数量的节点对数据进行重新分区。对数据进行分区时,建议使用一致性哈希处理。有关一致性哈希处理的更多信息,请参阅配置 ElastiCache 客户端以实现高效负载均衡。在下图中,您可以看到单节点和多节点 Memcached 集群的示例。


						图像:Memcached 集群:单节点和多节点集群

Amazon 地区和可用区

Amazon ElastiCache for Memcached 已在全球多个 Amazon 地区推出。因此,您可以在满足业务需求的位置启动 ElastiCache 集群。例如,您可以在离客户最近的 Amazon 地区或满足某些法律要求的地区开店。

默认情况下, Amazon 软件开发工具包 Amazon CLI、 ElastiCache API 和 ElastiCache 控制台引用美国西部(俄勒冈)区域。随着新 Amazon 区域的可用性 ElastiCache 扩展,这些 Amazon 区域的新终端节点也可用于您的 HTTP 请求、 Amazon 软件开发工具包和 ElastiCache 控制台。 Amazon CLI

每个 Amazon 区域都设计为与其他 Amazon 区域完全隔离。每个区域内有多个可用区。在不同的可用区内启动节点,可以实现可能的最大容错。有关 Amazon 区域和可用区的更多信息,请参阅选择区域和可用区


					图片: 区域和可用区

有关支持的 Amazon 区域 ElastiCache 及其终端节点的信息,请参阅支持的区域和端点

ElastiCache 用于内存缓存终端节点

端节点是您的应用程序用于连接到 ElastiCache 节点或集群的唯一地址。

Memcached 集群中的每个节点都有自己的终端节点。该集群还具有一个称为配置终端节点 的终端节点。如果您启用 Auto Discovery 并连接到配置终端节点,则即使是在集群中添加或移除节点后,应用程序仍将自动获知每个节点终端节点。有关更多信息,请参阅自动发现

有关更多信息,请参阅 终端节点

ElastiCache 参数组

缓存参数组是为受支持的引擎软件管理运行时设置的简单方法。参数用于控制内存使用率、移出策略、项目大小等。 ElastiCache 参数组是可以应用于集群的引擎特定参数的命名集合。通过这样做,您可以确保该集群中的所有节点都以完全相同的方式进行配置。

有关受支持的参数、其默认值以及其中可以修改的参数的列表,请参阅 DescribeEngineDefaultParameters (describe-engine-default-parameters)。

有关 ElastiCache 参数组的更多详细信息,请参阅使用参数组配置引擎参数

ElastiCache 安全

为了增强安全性,只有在列入白名单的 Amazon EC2 实例上运行的应用程序才能访问 ElastiCache 节点。您可以使用安全组控制可访问集群的 Amazon EC2 实例。

默认情况下,所有新 ElastiCache 集群都是在亚马逊虚拟私有云 (Amazon VPC) 环境中启动的。可以使用子网组授予从在特定子网上运行的 Amazon EC2 实例进行集群访问的权限。如果您选择在 Amzon VPC 外部运行您的集群,则可以创建安全组以向特定 Amazon EC2 安全组中运行的 Amazon EC2 实例授权。

ElastiCache 子网组

子网组是您可为在 Amazon Virtual Private Cloud (Amazon VPC) 环境中运行的集群指定的子网(通常为私有子网)集合。

如果您在 Amazon VPC 中创建集群,则必须指定缓存子网组。ElastiCache 使用该缓存子网组选择子网和该子网内的 IP 地址以与您的缓存节点相关联。

有关 Amazon VPC 环境中缓存子网组使用情况的更多信息,请参阅 Amazon VPC 和 ElastiCache 安全性授权访问子网和子网组

ElastiCache 用于内存缓存事件

当缓存集群上发生重大事件时, ElastiCache 会向特定的 Amazon SNS 主题发送通知。重要事件可以包括诸如添加节点失败、添加节点成功、修改安全组等内容。通过监控关键事件,您可以了解集群的当前状态,并且根据事件采取相应的纠正措施。

有关 ElastiCache 事件的更多信息,请参阅Amazon SNS 监控 ElastiCache 事件