re:Invent 产品体验与感受分享:Amazon ElastiCache Serverless 缓存的即时扩展

Serverless
亚马逊云科技
re:Invent
Amazon ElastiCache
Amazon VPC
0
0
> *授权说明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在亚马逊云科技开发者社区、 知乎、自媒体平台、第三方开发者媒体等亚马逊云科技官方渠道)。* ### 前言 2023年的亚马逊云科技 re:Invent 全球大会无疑是一场吸引科技人员、IT 行业从业者以及众多专业人士的年度盛会。当然我也不例外,虽然没有机会去现场,但是通过视频的形式观看了整个大会的进程,同样令人激动。今年亚马逊云科技新产品的发布和创新让大家都很期待,比如今年的技术热点 AIGC 产品 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail)、新一代自研芯片 Amazon Graviton、Serverless 服务的创新等等。作为一名开发人员,除了 AIGC,我个人比较关注的 [Amazon ElastiCache](https://aws.amazon.com/cn/elasticache/?trk=cndc-detail) Serverless 这个产品,所以本文重点介绍一下这个产品的使用以及体验,希望对大家有所帮助。 ### 产品介绍 [Amazon ElastiCache](https://aws.amazon.com/cn/elasticache/?trk=cndc-detail) 是一款缓存产品,它可以兼容 Redis 和 Memcached 两个分布式缓存系统。通过 [Amazon ElastiCache](https://aws.amazon.com/cn/elasticache/?trk=cndc-detail) 我们可以在亚马逊云上轻松建立和管理一个分布式内存缓存环境,消除部署和管理分布式缓存环境的复杂性。 本次推出的 [Amazon ElastiCache](https://aws.amazon.com/cn/elasticache/?trk=cndc-detail) Serverless,新的功能特性如下: > 简化了高度可用的分布式缓存,可即时扩展,无需管理服务器。 展开来说就是:**在创建缓存服务时不需要配置实例或配置节点,也不需要规划和管理缓存容量,使用时会根据实时的内存、计算和网络带宽情况进行扩展资源。** 这个创新点是我关注 [Amazon ElastiCache](https://aws.amazon.com/cn/elasticache/?trk=cndc-detail) Serverless 这个产品的原因。因为之前经历过一次生产故障,原因是缓存容量达到上限,好在当时设置的LRU策略没有造成很大的事故。 那接下来就带大家一起体验一下这个产品。 ### 产品使用步骤 因为本人平时使用最多的是 Redis,所以下面的流程就以 Redis 为对象进行展开。考虑到有人第一次接触亚马逊云,所以我尽可能把每个步骤写详细一点。 #### 1.创建缓存服务 首先进入 [elasticache 控制台](https://signin.aws.amazon.com/signin?redirect_uri=https%3A%2F%2Fus-east-1.console.aws.amazon.com%2Felasticache%2Fhome%3FhashArgs%3D%2523%26isauthcode%3Dtrue%26region%3Dus-east-1%26state%3DhashArgsFromTB_us-east-1_93d96fc0a7be3b10&client_id=arn%3Aaws%3Asignin%3A%3A%3Aconsole%2Felasticache&forceMobileApp=0&code_challenge=PvWNwhz6tvIjQaqfamhDzKTs2299pBM7kNI53UfJApM&code_challenge_method=SHA-256?trk=cndc-detail)创建一个 Redis 缓存。 ![image.png](https://dev-media.amazoncloud.cn/77741a93a96844d88c988ae5ee93130d_image.png "image.png") 如上图所示,可以通过两种方式前往创建 Redis 缓存界面。 页面中默认是使用[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)这个新的特性进行部署,如果是创建新的缓存服务,直接填写名称即可创建,也可以通过导入一个.rdb 文件进行创建。当然,也支持原有的方式按照需求自己设计缓存节点,不过本文主要是体验新功能,所以这里就不对‘设计自己缓存’展开介绍了。 我这里创建了一个名称为 “myredis” 的缓存服务,整个过程不到10秒。如下图 ![image.png](https://dev-media.amazoncloud.cn/5d1e1c072abd4a3ba1beb2e431a4c1aa_image.png "image.png") #### 2.安全组开放访问权限 创缓存服务创建好之后,要想外网访问,需要从 [Amazon VPC 安全组](https://us-east-1.console.aws.amazon.com/ec2/home?region=us-east-1#SecurityGroups:?trk=cndc-detail)向缓存服务授予网络访问权限,这里需要开通用来接受 Redis 命令的6379和6380端口。 ![image.png](https://dev-media.amazoncloud.cn/3f13ee2a9e4e4ba7b71dd51a1ba04283_image.png "image.png") #### 3.选择访问方式 此外,如果想要在亚马逊云科技的管理控制台外部与服务交互,可以通过 CLI、 SDK 或 API 方式进行交互,我这里选择 CLI 方式,其他方式请参考授予访问权限,安装 CLI 安装参考安装 CLI。 CLI 方式访问缓存服务时还需要使用 IAM 用户凭据进行身份验证,所以还需要在配置一下权限,也就是 AK,具体配置请参考 CLI 身份验证用户。 #### 4.读取缓存服务 完成以上操作就可以和 [Amazon ElastiCache](https://aws.amazon.com/cn/elasticache/?trk=cndc-detail) Serverless 进行交互读取数据了,在这之前,如果没有安装 Redis 客户端的,可以执行以下命令进行安装。 ``` sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel clang wget sudo wget http://download.redis.io/redis-stable.tar.gz sudo tar xvzf redis-stable.tar.gz cd redis-stable sudo CC=clang make BUILD_TLS=yes ``` 安装之后就可以执行命令存储数据了。 ![image.png](https://dev-media.amazoncloud.cn/d64c0821f747441b8ebcce76c27f8820_image.png "image.png") ### 产品新特性验证 为了测试即时扩展的功能,我这里写了一个脚本,不断的往 ElastiCache Serverless 中添加数据,然后通过监控指标,观察容量是否会根据指标自动扩容。 ![image.png](https://dev-media.amazoncloud.cn/631886f47f3a4c4b995df238fd083b3d_image.png "image.png") 通过监控指标,可以看到内存容量和 ECPU 会随着请求量不断上升。通过官方文档介绍,了解到其底层实现是通过监控内存、计算和网络带宽的利用率,添加一个新的 shard 并将数据重新分配到新的 shard 来扩展,从而实现自动扩展。总之,整个过程非常的丝滑。 ![image.png](https://dev-media.amazoncloud.cn/3d17a91389284f0f8533fc72c94ece3b_image.png "image.png") ### 体验总结 通过对 [Amazon ElastiCache](https://aws.amazon.com/cn/elasticache/?trk=cndc-detail) Serverless 产品的使用及观察,我有以下几点感受: 1. 虽然推出了新的功能,但是会兼容不同的场景,并且操作简单方便,这一点考虑的比较全面。 1. 一个缓存服务满足了 Serverless 的特性,不仅简化了开发和运维的复杂性,提高了开发效率,还保障了应用的稳定性;“即时扩展”可以避免生产环境因为缓存服务的容量监控不及时导致应用程序故障,也不用停机扩容,如果两年前有这个功能,我们那个生产环境就不会出现故障了。 1. 真正做到了按需付费,以往的云缓存产品,需要提前配置规格并按照最高规格收费。但是 [Amazon ElastiCache](https://aws.amazon.com/cn/elasticache/?trk=cndc-detail) Serverless 存储的数据将按千兆字节-小时(GB-小时)计费,请求按 ElastiCache 计算单位(ECPU)计费,这种细粒度的付费方式可以进一步降低成本,提高资源的利用率。 通过本次对亚马逊云科技 re:Invent 全球大会发布的新产品进行体验,不得不感叹亚马逊云的强大,果然是云计算的开创者和引领者。
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭