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

news/2024/5/20 7:37:59 标签: 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/5265105.html

相关文章

线性代数运算方法总结

线性方程组的行列式解法(克拉默法则) 首先写出方程的系数行列式,第一列x1第二列x2以此类推,然后用每个方程式的结果分别代替第一列到第列,得到每个未知数对应的代数行列式,方程的解为代数行列式比系数行列…

LeetCode263. Ugly Number

文章目录 一、题目二、题解 一、题目 An ugly number is a positive integer whose prime factors are limited to 2, 3, and 5. Given an integer n, return true if n is an ugly number. Example 1: Input: n 6 Output: true Explanation: 6 2 3 Example 2: Input: …

浏览器的事件循环机制(Event loop)

事件循环 浏览器的进程模型 何为进程? 程序运行需要有它自己专属的内存空间,可以把这块内存空间简单的理解为进程 每个应用至少有一个进程,进程之间相互独立,即使要通信,也需要双方同意。 何为线程? …

Linux vmstat命令:监控系统资源

vmstat命令,是 Virtual Meomory Statistics(虚拟内存统计)的缩写,可用来监控 CPU 使用、进程状态、内存使用、虚拟内存使用、硬盘输入/输出状态等信息。此命令的基本格式有如下 2 种: [rootlocalhost ~]# vmstat [-a…

性能提升100%、存储节约50%!猕猴桃游戏搭载OceanBase开启云端手游新篇章

近日,武汉灵动在线科技有限公司(以下简称“灵动在线”)与 OceanBase 达成合作,旗下品牌猕猴桃游戏的“游戏用户中心(微信小程序)”和“BI 分析报表业务系统“两大关键业务系统全面接入 OB Cloud 云数据库&a…

Kafka-客户端使用

理解Kafka正确使用方式 Kafka提供了两套客户端API,HighLevel API和LowLevel API。 HighLevel API封装了kafka的运行细节,使用起来比较简单,是企业开发过程中最常用的客户端API。 LowLevel API则需要客户端自己管理Kafka的运行细节&#xf…

Python: round函数

语法 在Python中,round() 是一个内置函数,用于对浮点数进行四舍五入。 基本语法如下: round(number, ndigits) 其中: number 是你要四舍五入的浮点数。ndigits(可选)决定了四舍五入到哪个位置&#xf…

JVM虚拟机系统性学习-运行时数据区(虚拟机栈、本地方法栈)

虚拟机栈 虚拟机栈为每个线程所私有的,如下图: 栈帧是什么? 栈帧存储了方法的局部变量表、操作数栈、动态链接和方法返回地址等信息 栈内存为线程私有的空间,每个方法在执行时都会创建一个栈帧,执行该方法时&…