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

news/2024/5/20 7:51:37 标签: serverless, 缓存, 云原生

授权说明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在亚马逊云科技开发者社区、 知乎、自媒体平台、第三方开发者媒体等亚马逊云科技官方渠道)。

文章目录

  • 前言
  • 产品介绍
  • 产品使用步骤
    • 1.创建缓存服务
    • 2.安全组开放访问权限
    • 3.选择访问方式
    • 4.读取缓存服务
  • 产品新特性验证
  • 体验总结

前言

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为对象进行展开。考虑到有人第一次接触亚马逊云,所以我尽可能把每个步骤写详细一点。

1.创建缓存服务

首先进入 elasticache控制台 创建一个Redis缓存

在这里插入图片描述

如上图所示,可以通过两种方式前往创建Redis缓存界面。

页面中默认是使用无服务器这个新的特性进行部署,如果是创建新的缓存服务,直接填写名称即可创建,也可以通过导入一个.rdb文件进行创建。当然,也支持原有的方式按照需求自己设计缓存节点,不过本文主要是体验新功能,所以这里就不对‘设计自己缓存’展开介绍了。

我这里创建了一个名称为“myredis”的缓存服务,整个过程不到10秒。如下图

在这里插入图片描述

2.安全组开放访问权限

缓存服务创建好之后,要想外网访问,需要从Amazon VPC安全组向缓存服务授予网络访问权限,这里需要开通用来接受Redis命令的6379和6380端口。

在这里插入图片描述

3.选择访问方式

此外,如果想要在亚马逊云科技的管理控制台外部与服务交互,可以通过CLI、 SDK或API方式进行交互,我这里选择CLI方式,其他方式请参考授予访问权限,安装CLI安装参考安装CLI。

CLI方式访问缓存服务时还需要使用IAM用户凭据进行身份验证,所以还需要在配置一下权限,也就是AK,具体配置请参考CLI身份验证用户。

4.读取缓存服务

完成以上操作就可以和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产品的使用及观察,我有以下几点感受:

  1. 虽然推出了新的功能,但是会兼容不同的场景,并且操作简单方便,这一点考虑的比较全面。
  2. 一个缓存服务满足了Serverless的特性,不仅简化了开发和运维的复杂性,提高了开发效率,还保障了应用的稳定性;“即时扩展”可以避免生产环境因为缓存服务的容量监控不及时导致应用程序故障,也不用停机扩容,如果两年前有这个功能,我们那个生产环境就不会出现故障了。
  3. 真正做到了按需付费,以往的云缓存产品,需要提前配置规格并按照最高规格收费。但是Amazon ElastiCache Serverless存储的数据将按千兆字节-小时(GB-小时)计费,请求按 ElastiCache 计算单位(ECPU)计费,这种细粒度的付费方式可以进一步降低成本,提高资源的利用率。

通过本次对亚马逊云科技 re:Invent 全球大会发布的新产品进行体验,不得不感叹亚马逊云的强大,果然是云计算的开创者和引领者。


http://www.niftyadmin.cn/n/5261539.html

相关文章

前端知识笔记(四十二)———http和https详细解析

HTTP(Hypertext Transfer Protocol)是一种用于在计算机网络中传输超文本的协议。它是一个客户端-服务器协议,用于从 Web 服务器传输超文本到本地浏览器。HTTP 使用 TCP/IP 协议作为底层传输协议,并使用默认端口号80。 HTTPS&…

​理解 Spark 写入 API 的数据处理能力

这张图解释了 Apache Spark DataFrame 写入 API 的流程。它始于对写入数据的 API 调用,支持的格式包括 CSV、JSON 或 Parquet。流程根据选择的保存模式(追加、覆盖、忽略或报错)而分岔。每种模式执行必要的检查和操作,例如分区和数…

RocketMQ-RocketMQ高性能核心原理节点(流程图)

NamesrvServer启动流程图: namesrvServer启动简图: Broker服务启动过程流程图 Broker服务启动过程流程简图 整体RPC框架流程如下图 client: DefaultMQProducer

基于AnolisOS国产操作系统打造Python3.11.0容器基础开发环境

一 背景 随着国内操作系统市场的不断发展,AnolisOS作为一款优秀的国产操作系统,逐渐受到了广大开发者的关注。为了满足Python开发者的需求,本文将介绍如何基于AnolisOS打造Python3.11.0容器基础开发环境,为开发者提供更高效、更稳…

springboot098基于web的网上摄影工作室的开发与实现

springboot098基于web的网上摄影工作室的开发与实现 源码获取: https://docs.qq.com/doc/DUXdsVlhIdVlsemdX

【07】ES6:对象的扩展

一、对象字面量语法扩展 1、属性简写 当属性名称和属性值的变量名称相同时,可以省略冒号的变量名称。 const foo barconst baz { foo } // 等同于 const baz { foo: foo }baz // { foo: bar }function f(x, y) {return { x, y } } // 等同于 function f(x, y)…

LeetCode力扣每日一题(Java):67、二进制求和

一、题目 二、解题思路 1、我的思路(残缺版) 好家伙,又是一道我盯着屏幕看了半天还没思路的题目 我只有一部分残缺的思路,在这里先写下来吧 我们可以先创建一个空字符串(后文称新字符串),用…

Spring Boot 3中一套可以直接用于生产环境的Log4J2日志配置

文章目录 一 Log4J2 相关概念及基本特点二 Spring Boot3 中启用Log4J2的pom.xml配置三 application.properties 的配置四 完整配置 一 Log4J2 相关概念及基本特点 Log4J2是Apache Log4j的升级版,参考了logback的一些优秀的设计,并且修复了一些问题&…