抛砖引玉
讲一下作者背景,曾经参加过国内世界技能大赛云计算的选拔,那么在竞赛中包含两类,一类是架构类竞赛,另一类就是TroubleShooting竞赛,对应的分别为AWS GameDay和AWS Jam,想必也有朋友玩过此类竞赛,那么最经典的一个Gameday,我认为是Gameday 2015那个比赛,感兴趣的朋友可以在这里看看哈
AWS-Gameday-2015-Runbook:https://github.com/fedorovdima/aws-gameday/blob/master/runbook.md
上图为一个简易架构示例图
那么在这场比赛中,是有好几个版本的,如果说延伸到后面的版本,那么Elasticache是一个拿分的好物(在不考虑Cloudfront的情况下),因为从客户端发送来的数据,会被缓存到Elasticache中,在这里当然是用的Elasticache for memcached,当客户端再次发送同样的数据请求过来的时候,首先会往memcache的查询数据,如果有就即刻返回。
那么在这个实践的过程中,我们抛开架构上的设计,我们使用Elasticache for Memcached首先是要去创建。
OK,那么问题来了
- 在生产实践中,我们需要考虑到成本的问题,创建多大呢?我们如何去预估这个缓存数据库的一个规模大小,这是第一个问题(虽然在竞赛中,都是扣一样的)
- 创建缓存数据库需要花时间,如果设置错误,删除也需要花费时间,在每个阶段会需要时间等待,大约4-5分钟
总结起来就是:弹性伸缩,成本管控
视频介绍
Serverless助力数据拓展无极限
在2023 亚马逊云科技 re:Invent大会中,Peter宣布推出 Amazon ElastiCache Serverless,这是一种新的无服务器选项,允许客户在一分钟内创建缓存并根据应用程序流量模式立即扩展容量。Amazon ElastiCache Serverless 与两种流行的开源缓存解决方案 Redis 和 Memcached 兼容。
Amazon ElastiCache Serverless 具有以下优势:
- 无需管理基础设施:ElastiCache Serverless 自动管理容量和扩展,因此您只需为您使用的内存和计算付费。
- 快速启动:您只需几分钟即可创建和启动 ElastiCache Serverless 缓存。
- 按需扩展:ElastiCache Serverless 会根据您的应用程序需求自动扩展或缩减缓存的容量。
- 高可用性:ElastiCache Serverless 自动将数据复制到多个 Availability Zone,以确保高可用性。
通过这样简单介绍,我相信大家已经明了我的意思了,Amazon Elasticache Serverless可以满足咱们在之前所遇到的问题,一个是硬件弹性扩缩容,一个是创建/删除时间长的问题。那么我们实际来看看 Amazon Elasticache Serverless的实际表现如何。
实践环节
在本次实践测试中,使用Elasticache for Memcached的Serverless版本
控制台创建
默认就会已经选择了Serverless版本
连接及使用
在我们测试某个服务端口是否开放的时候,我们用telnet来进行连接,那么在常规使用中,我们在网上看到连接redis和memcached的方法也是使用telnet,例如
telnet Cache_host:port
那么,我们可用用这个命令连接上咱们一般创建的redis/memcache,请注意,为什么我在这里说的是“一般”
在默认和自定义的情况下,亚马逊云科技的Elasticache的Redis/memcached都会有一个选项,叫做“传输中加密”,该选项是“始终启用”,且无法关闭
加密连接
openssl s_client -connect Cache_host:Port
弹性拓展
当然,Elasticache Serverless,重就重在Serverless,在创建之初,咱们就已经提到过,我们可以自行定义可用内存和每秒ElastiCache 处理单位,当然默认情况下是不设限的。
总结
Amazon ElastiCache Serverless 是一个完全托管的、无服务器的 Memcached 和 Redis 缓存服务。
- 无需管理基础设施:ElastiCache Serverless 会自动为您创建和管理 Memcached 或 Redis 缓存实例。
- 按需付费:您只需为使用的资源付费,无需预付费或担心容量规划。
- 弹性伸缩:ElastiCache Serverless 会根据您的需求自动缩放您的缓存实例,以确保满足您的性能要求。
通过Amazon Elasticache Serverless,我们不再需要在缓存数据库的规划上做过多考虑,同时也不需要花费过多的时间进行等待。总的来看ElastiCache Serverless 是 Memcached 和 Redis 缓存的一种可靠、高效、经济的解决方案