亚马逊ElastiCache对于希望以难以置信的速度处理大量数据、比传统数据库更快的速度处理数据的客户来说,实现快速数据的许多原因。必威体育精装版app官网开发人员喜欢Redis的性能、简单性和内存功能,这使它成为最流行的NoSQL键值存储。Redis的微秒延迟使其成为缓存的实际选择。它对高级数据结构(例如,列表、集和排序集)的支持还支持各种内存用例,如排行榜、内存分析、消息传递等等。

四年前,作为我们的AWS数据的快速旅程的一部分,我们推出亚马逊ElastiCache为Redis的,,在微秒延迟工作的全面管理,在内存中的数据存储。从那时起,我们已经增加了对Redis的集群,使客户能够运行得更快,更灵活的工作负载。ElastiCache为Redis的群集配置多达15个碎片支持,使客户与多达6.1 TB的内存容量在一个群集中运行Redis的工作负荷。虽然Redis的群集配置启用了高性能的较大规模的部署,调整集群所需的备份和恢复,这意味着集群脱机。

本月早些时候,我们宣布了中ElastiCache在线簇大小调整。ElastiCache为Redis的现在提供了从正在运行的群集添加和删除碎片的能力。现在,您可以动态地向外扩展,甚至在你的Redis集群工作负载扩展,以适应需求的变化。ElastiCache通过添加或删除碎片和整个新片段配置均匀地再分布键,同时还能集群继续保持在线,服务请求调整丛集的大小。不需要更改应用程序。

与弹性伸缩

多年来,我一直密切关注着ElastiCache的发展,我很高兴地看到它被成千上万的客户使用——包括Airbnb、Hulu、麦当劳、Adobe、Expedia、Hudl、Grab、Duolingo、PBS、HERE和Ubisoft。ElastiCache提供可预测的微秒延迟,是超级容易使用。我们的客户正在使用ElastiCache Redis在他们最苛刻的应用,支持数百万用户。无论是游戏、广告技术、旅游还是零售速度,都很简单。

由于使用案例Redis的继续增长,客户已经在扩大动态工作负载需要更多的灵活性,同时继续高度可用和服务的传入流量。为了给你一些例子,我一直在谈论几个游戏公司最近和他们的谈话是关于在缩放需要的速度和灵活性,进出都。他们应对高可变性的基础上游戏收养或季节性,比如即将到来的节日工作量。如果一个游戏排行榜潮,因为一个新的游戏称号,并吨的玩家涌向玩游戏,游戏平台要调整大小的群集联机处理更大的负荷。但随着需求的减少,他们应该很容易能够扩展,在环境中优化成本,同时还能保持在线和服务传入的请求。

我们的零售客户在管理大型促销活动导致的工作量激增和下降方面遇到了类似的挑战。一些客户也分享了他们尝试自我管理Redis工作负载和实现在线集群调整的经验,对于无法离线调整集群大小的工作负载。虽然开源Redis提供了一些原语来帮助reshard一个集群,但它们是不够的。除了自我管理的成本之外,客户还必须处理集群调整过程中的故障。故障会使集群处于不可恢复状态,潜在地导致数据丢失和延长停机时间,直到可以手动修复集群。

在亚马逊,我们一直专注于创新,代表客户。随着网络簇大小调整,我们的目标是设计用于集群resharding全面管理经验,这将同时支持横向扩展和规模,并保留开放源代码的兼容性。人们一直认为领导力和创新,已使我们能够带来更多弹性的承诺和灵活性来调整工作负载,同时保持可用性,一致性和性能令人兴奋的旅程,一个。

引擎盖下

在一个Redis的簇,密钥空间被分成时隙(16384个时隙)和槽跨碎片分布。当群集resharded,这些时隙需要被重新分配。使用Redis的应用能够挑这件事,因为Redis的客户端可以自动发现并随时掌握最新与在时隙分配的变化。然而,槽必须手动在服务器侧移动。集群大小调整是一个复杂的问题,因为它涉及到改变碎片和迁移数据的数量,同时对同一数据集服务读取和写入请求。甲resharding操作以向外扩展涉及添加碎片,产生用于重新分配时隙,迁移槽,最后整个碎片转移槽所有权,狭槽被迁移之后的俯视图。

原子位置迁移

在ElastiCache中在线调整集群大小使用原子槽迁移,而不是开源Redis附带的原子键迁移。当一个键被迁移到目标碎片时,ElastiCache在源碎片上维护该键的一个副本,该副本保留该键的所有权,直到整个槽槽及其所有键都被迁移。这有几个好处:

  • 因为在槽的所有键继续由源碎片所拥有,该数据集是从来没有在一个槽分裂情形。这使得它易于支持的操作,如多键命令,事务和Lua脚本,从而提供完整的API覆盖面,同时集群resharding正在进行中。
  • 虽然插槽迁移过程中,源碎片继续支持与已迁移的密钥请求。这最小化了时间窗需要客户端重定向,迁移操作过程中改善延时。
  • 关键所有权住宿与源分片,所以在源副本碎片对键上的最新信息。如果有故障,副本可以继续使用最新的关键地位,供应的命令并没有数据丢失。
  • 该系统更健壮。任何错误,如目标的内存不足,这可能会停止迁移,很容易从中恢复,因为源碎片有钥匙的全部所有权。

在此过程中,我们还进行了其他增强。一个重要的新增功能是在源碎片上使用多线程操作。源碎片上的槽迁移作为一个独立于主I/O线程的线程并行执行。因此,键迁移不再阻塞源上的I/O,确保不会影响可用性。此外,为了维护数据一致性,迁移操作期间的所有数据突变都将异步复制到目标切分。

在线簇大小调整是一个梦幻般的除了我们的ElastiCache为Redis的客户。你可以调整你的ElastiCache为Redis的3.2.10集群横向扩展或扩展中,没有任何申请方的变化。有关开始使用Redis的聚集,并试图reshard群集的详细信息,请参阅联机群集大小调整

我们的许多客户分享我的激动之情:

  • 听歌是一个免费的、基于科学的语言教育平台,它已有机地成为最受欢迎的在线语言学习方式。该公司拥有超过2亿用户,每月完成70亿次语言练习,公司的使命是让所有人都能享受免费、有趣的教育。“亚马逊的松紧带从一开始就在我们的基础设施中扮演着绝对关键的角色,”多邻国的运营工程师Max Blaze说。“随着我们的成长,我们已经突破了单碎片集群的极限。ElastiCache在线重新切分复述,将使我们能够很容易我们复述,水平集群规模增长,极大地简化了我们的许多复述,集群管理,授权我们规模迅速跨我们缓存层,同时降低成本,以最小的更改和继续增长,我们目前的服务。

  • Dream11,印度排名第一的幻想体育平台不断增长的用户群,在南亚地区超过14万用户。“我们一直在使用ElastiCache为Redis的去年以来推出碎片化配置,支持超过14万用户打板球,足球,和卡巴迪的奇幻游戏,以每分钟150万级的要求和工作量的10倍涌动需求高峰快,我们的平台需要缩放点播和无需停机。此功能使我们能够扩展,并扩展我们的平台,支持波动游戏的需求,而不是在提供具有”阿布舍克拉维,CIO说。

  • “在SocialCode在美国,我们的数据和情报让《财富》500强企业的营销人员通过利用最重要的数字媒体平台——比如Facebook、Instagram、Twitter、Pinterest、Snapchat和YouTube——了解并联系他们的客户。”使用新的在线重新分片功能的ElastiCache Redis将允许我们扩大我们不断增长的观众智能产品,因为我们继续在板上的品牌数据。能够在不停机的情况下执行这些扩展操作是非常宝贵的!”

对于最新公告,请参阅亚马逊ElastiCache为Redis的引入了动态添加和删除碎片的同时,继续为工作负载

评论

博客评论Disqus