授权说明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在亚马逊云科技开发者社区、 知乎、自媒体平台、第三方开发者媒体等亚马逊云科技官方渠道)。
2023年的亚马逊云科技 re:Invent 全球大会无疑是一场吸引科技人员、IT行业从业者以及众多专业人士的年度盛会。当然我也不例外,虽然没有机会去现场,但是通过视频的形式观看了整个大会的进程,同样令人激动。今年亚马逊云科技新产品的发布和创新让大家都很期待,比如今年的技术热点AIGC产品Amazon Q、新一代自研芯片Amazon Graviton、Serverless服务的创新等等。作为一名开发人员,除了AIGC,我个人比较关注的Amazon ElastiCache Serverless 这个产品,所以本文重点介绍一下这个产品的使用以及体验,希望对大家有所帮助。
Amazon ElastiCache 是一款缓存产品,它可以兼容Redis和Memcached两个分布式缓存系统。通过Amazon ElastiCache我们可以在亚马逊云上轻松建立和管理一个分布式内存缓存环境,消除部署和管理分布式缓存环境的复杂性。
本次推出的 Amazon ElastiCache Serverless,新的功能特性如下:
简化了高度可用的分布式缓存,可即时扩展,无需管理服务器。
展开来说就是:在创建缓存服务时不需要配置实例或配置节点,也不需要规划和管理缓存容量,使用时会根据实时的内存、计算和网络带宽情况进行扩展资源。
这个创新点是我关注Amazon ElastiCache Serverless这个产品的原因。因为之前经历过一次生产故障,原因是缓存容量达到上限,好在当时设置的LRU策略没有造成很大的事故。
那接下来就带大家一起体验一下这个产品。
因为本人平时使用最多的是Redis,所以下面的流程就以Redis为对象进行展开。考虑到有人第一次接触亚马逊云,所以我尽可能把每个步骤写详细一点。
首先进入 elasticache控制台 创建一个Redis缓存。
如上图所示,可以通过两种方式前往创建Redis缓存界面。
页面中默认是使用无服务器这个新的特性进行部署,如果是创建新的缓存服务,直接填写名称即可创建,也可以通过导入一个.rdb文件进行创建。当然,也支持原有的方式按照需求自己设计缓存节点,不过本文主要是体验新功能,所以这里就不对‘设计自己缓存’展开介绍了。
我这里创建了一个名称为“myredis”的缓存服务,整个过程不到10秒。如下图
创缓存服务创建好之后,要想外网访问,需要从Amazon VPC安全组向缓存服务授予网络访问权限,这里需要开通用来接受Redis命令的6379和6380端口。
此外,如果想要在亚马逊云科技的管理控制台外部与服务交互,可以通过CLI、 SDK或API方式进行交互,我这里选择CLI方式,其他方式请参考授予访问权限,安装CLI安装参考安装CLI。
CLI方式访问缓存服务时还需要使用IAM用户凭据进行身份验证,所以还需要在配置一下权限,也就是AK,具体配置请参考CLI身份验证用户。
完成以上操作就可以和Amazon ElastiCache 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
安装之后就可以执行命令存储数据了。
为了测试即时扩展的功能,我这里写了一个脚本,不断的往ElastiCache Serverless中添加数据,然后通过监控指标,观察容量是否会根据指标自动扩容。
通过监控指标,可以看到内存容量和ECPU会随着请求量不断上升。通过官方文档介绍,了解到其底层实现是通过监控内存、计算和网络带宽的利用率,添加一个新的shard并将数据重新分配到新的shard来扩展,从而实现自动扩展。总之,整个过程非常的丝滑。
通过对Amazon ElastiCache Serverless产品的使用及观察,我有以下几点感受:
通过本次对亚马逊云科技 re:Invent 全球大会发布的新产品进行体验,不得不感叹亚马逊云的强大,果然是云计算的开创者和引领者。