本指南展示了如何使用 AWS 完全托管的 Redis 服务 Amazon ElastiCache for Redis 和开源存储框架 Feast 构建超低延迟的在线特征存放区。该在线存储使用机器学习(ML)实现实时数据访问和亚毫秒级延迟。本指南涵盖的示例应用场景基于一个实时贷款审批应用程序,该应用程序可根据客户的信用评分模型进行在线预测。

请注意:[免责声明]

架构图

[架构图描述]

下载架构图 PDF 

Well-Architected 支柱

当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。

上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。

  • Amazon CloudWatch 通过提供全面的监控、日志记录和自动化功能,增强了 ElastiCache 的卓越运营能力。它能够跟踪 ElastiCache 指标,如 CPU 利用率、内存使用率、网络流量、命令统计数据和缓存命中/未命中率,从而实现主动性能管理。CloudWatch 日志集成支持集中式日志分析,简化了故障排除过程。CloudWatch 警报会调用自动化操作,例如在流量高峰期间扩展 ElastiCache 集群以获得最佳性能,同时在空闲期间降低成本。

    阅读《卓越运营》白皮书 
  • 通过将 IAM 策略限定在所需的最低权限范围内,可以限制对资源进行未经授权的访问。KMS 可控制用于保护数据的加密密钥,消除密钥管理开销。IAM 策略的权限范围仅限于授予 ElastiCache 必要的运营权限。ElastiCache 提供传输中加密和静态加密,而 KMS 允许您创建、管理和控制对用于数据保护的客户管理加密密钥的访问权限。

    阅读《安全性》白皮书 
  • ElastiCache 自动扩缩组可根据利用率指标动态调整 Redis 集群容量(分片和副本),从而确保可靠的性能。CloudWatch 可持续监控关键指标并发出警报,以主动发现和缓解问题。自动扩缩功能可通过启动更多节点来处理流量峰值,防止过载并保持性能稳定。节点可分布在不同的可用区,以增强冗余能力,防止中断。

    阅读《可靠性》白皮书 
  • ElastiCache 自动扩缩功能可根据需求动态预置和调整 Redis 集群的规模,以优化资源利用率。在流量高峰期间,自动扩缩功能会启动更多节点来处理增加的负载,从而防止过载并保持低延迟。

    ElastiCache 的内存中架构、数据结构、事务、脚本和集群等功能针对高吞吐量和低延迟运营进行了优化,使其成为性能关键型工作负载的理想选择。水平扩缩和只读副本进一步提高了吞吐量和响应时间。

    Redis 集群模式将数据分片到多个节点,并分配内存和工作负载,以改善并行化和线性吞吐量扩展。分片可以克服单节点限制,从而最大限度地提高内存利用率,而在分片上本地执行命令可以最大限度地减少网络跃点数。

    阅读《性能效率》白皮书 
  • 自动扩缩可根据利用率指标自动调整集群容量,从而优化 ElastiCache 成本。在低流量时段,它通过终止不必要的节点进行横向缩减,防止过度预置并减少运营费用。相反,在流量高峰期间,它会启动更多节点,这有助于在不产生过多成本的情况下确保有足够的容量。这种弹性消除了手动管理容量的需要,有助于确保集群的大小适合工作负载的需求,仅运行所需的资源。

    阅读《成本优化》白皮书 
  • ElastiCache 可根据应用程序需求调整缓存大小,提高基础设施效率,防止资源浪费。

    多个 AWS 区域提供了可用性,实现了在离最终用户更近的地方部署 ElastiCache 集群,从而减少了网络延迟和数据传输,并能够通过减少网络使用量来降低能耗和排放。

    阅读《可持续性》白皮书 

实施资源

示例代码为起点。它经过行业验证,是规范性但不是决定性的,可以帮助您开始。

博客

使用 Amazon ElastiCache for Redis 构建超低延迟在线特征存放区以进行实时推理

这篇博客文章展示了客户如何使用 Amazon ElastiCache for Redis 在 AWS 上构建在线特征存放区,为需要超低延迟的任务关键型机器学习应用场景提供支持。

免责声明

示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。

本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。

此页内容对您是否有帮助?