当前位置: 首页 > news >正文

亚马逊云科技 re:Invent 2023 产品体验:亚马逊云科技产品应用实践 国赛选手带你看 Elasticache Serverless

抛砖引玉

讲一下作者背景,曾经参加过国内世界技能大赛云计算的选拔,那么在竞赛中包含两类,一类是架构类竞赛,另一类就是 TroubleShooting 竞赛,对应的分别为亚马逊云科技 GameDay 和亚马逊云科技 Jam,想必也有朋友玩过此类竞赛,那么最经典的一个 Gameday,我认为是 Gameday 2015 那个比赛,感兴趣的朋友可以在这里看看:Amazon-Gameday-2015-Runbook

亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏,看到这里请一定不要匆匆划过,点这里让它成为你的技术宝库!

image.png

 上图为一个简易架构示例图

那么在这场比赛中,是有好几个版本的,如果说延伸到后面的版本,那么 Elasticache 是一个拿分的好物(在不考虑 Cloudfront 的情况下),因为从客户端发送来的数据,会被缓存到 Elasticache 中,在这里当然是用的 Elasticache for memcached,当客户端再次发送同样的数据请求过来的时候,首先会往 memcache 的查询数据,如果有就即刻返回。

那么在这个实践的过程中,我们抛开架构上的设计,我们使用 Elasticache for Memcached 首先是要去创建。

OK,那么问题来了

在生产实践中,我们需要考虑到成本的问题,创建多大呢?我们如何去预估这个缓存数据库的一个规模大小,这是第一个问题(虽然在竞赛中,都是扣一样的) 创建缓存数据库需要花时间,如果设置错误,删除也需要花费时间,在每个阶段会需要时间等待,大约4-5分钟

总结起来就是:弹性伸缩,成本管控

视频简介

点击下方链接,观看视频简介

亚马逊云科技re:Invent 2023产品体验:亚马逊云科技产品应用实践 国赛选手带你看Elasticache Serverless_哔哩哔哩_bilibili

亚马逊云科技 re:Invent 2023 产品体验:亚马逊云科技产品应用实践 国赛选手带你看 Elasticache Serverless

Serverless 助力数据拓展无极限

image.png

在 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 版本

控制台创建

image.png

创建时间

默认就会已经选择了 Serverless 版本,大家可以通过下面2个截图看到咱们一整个创建时间是在1分钟左右的,和官方宣称的1分钟内其实是有一点差异的。那么针对于这种现象呢,个人认为也许是底层资源的调用的影响,才导致这样一个差异化的出现,也许在后续的一个版本升级后,可以实现任何时间都可以在1分钟内创建出缓存数据库。

image.png

连接及使用

在我们测试某个服务端口是否开放的时候,我们用 telnet 来进行连接,那么在常规使用中,我们在网上看到连接 redis 和 memcached 的方法也是使用 telnet,例如

telnet Cache_host:port
复制代码

那么,我们可用用这个命令连接上咱们一般创建的 redis/memcache,请注意,为什么我在这里说的是“一般”在默认和自定义的情况下,亚马逊云科技的 Elasticache 的 Redis/memcached 都会有一个选项,叫做“传输中加密”,该选项是“始终启用”,且无法关闭

image.png

加密连接
openssl s_client -connect Cache_host:Port
复制代码

image.png

image.png

弹性测试
弹性拓展

当然,Elasticache Serverless,重就重在 Serverless,在创建之初,咱们就已经提到过,我们可以自行定义可用内存和每秒 ElastiCache 处理单位,当然默认情况下是不设限的。

image.png

并发测试

测试视频

点击下方链接,观看测试视频

并发测试-亚马逊云科技re:Invent 2023产品体验:亚马逊云科技产品应用实践 国赛选手带你看Elasticache Serverless_哔哩哔哩_bilibili

并发测试-亚马逊云科技 re:Invent 2023 产品体验:亚马逊云科技产品应用实践 国赛选手带你看 Elasticache Serverless

测试配置

image.png

测试脚本

  1. 首先是要安装 redis
  2. 然后在脚本中定义 redis 终端节点
  3. 脚本每秒钟会并发10000写入
pip3 install redis
复制代码
import redis
import concurrent.futures
import random
import string
import time# 定义你的redis终端节点
redis_host = ''
redis_port = 6379
redis_ssl = True
num_writes_per_second = 10000
key_prefix = "data"def generate_random_string(length=10):"""Generate a random string of the specified length."""letters = string.ascii_lowercasereturn ''.join(random.choice(letters) for _ in range(length))def write_to_redis(client, key_prefix, num_writes):"""Write data to Redis with random keys and values."""for _ in range(num_writes):key = f"{key_prefix}_{generate_random_string()}"value = generate_random_string()client.set(key, value)# Create a Redis client
client = redis.Redis(host=redis_host, port=redis_port, ssl=redis_ssl)# Function to write to Redis continuously
def continuous_writes():with concurrent.futures.ThreadPoolExecutor() as executor:while True:# Submit write tasks to the thread poolfutures = [executor.submit(write_to_redis, client, key_prefix, num_writes_per_second) for _ in range(num_writes_per_second)]# Wait for all tasks to completeconcurrent.futures.wait(futures)# Introduce a delay to control the rate of writestime.sleep(1)# Start the continuous writes
continuous_writes()
复制代码

客户端情况

Serverless 版本写入基本保持在124%的 CPU 利用率

image.png

image.png

传统预配置机型 t4g.micro

客户端 CPU 利用率

image.png

image.png

image.png

测试小节

从实际并发测试来看,Serverless 版本的 Elasticache 在超高并发下的写入是完全可以接住,并且内存量随着写入数据的增长是没有感知的。反观传统创建出的 T4g.micro 数据库实例,也许在一开始是能够写入数据,但是再往后写入数据,T4g.micro 机型的 redis 似乎就宕机了一样,从监控上的数据来看没有任何写入的迹象。

总结

Amazon ElastiCache Serverless 是一个完全托管的、无服务器的 Memcached 和 Redis 缓存服务。

  • 无需管理基础设施:ElastiCache Serverless 会自动为您创建和管理 Memcached 或 Redis 缓存实例。
  • 按需付费:您只需为使用的资源付费,无需预付费或担心容量规划。
  • 弹性伸缩:ElastiCache Serverless 会根据您的需求自动缩放您的缓存实例,以确保满足您的性能要求。

通过 Amazon Elasticache Serverless,我们不再需要在缓存数据库的规划上做过多考虑,同时也不需要花费过多的时间进行等待。总的来看 ElastiCache Serverless 是 Memcached 和 Redis 缓存的一种可靠、高效、经济的解决方案

文章来源:
https://dev.amazoncloud.cn/column/article/658a31d979476548e3e1f935?sc_medium=regulartraffic&sc_campaign=crossplatform&sc_channel=CSDN

相关文章:

亚马逊云科技 re:Invent 2023 产品体验:亚马逊云科技产品应用实践 国赛选手带你看 Elasticache Serverless

抛砖引玉 讲一下作者背景,曾经参加过国内世界技能大赛云计算的选拔,那么在竞赛中包含两类,一类是架构类竞赛,另一类就是 TroubleShooting 竞赛,对应的分别为亚马逊云科技 GameDay 和亚马逊云科技 Jam,想必…...

Flink on K8S集群搭建及StreamPark平台安装

1.环境准备 1.1 介绍 在使用 Flink&Spark 时发现从编程模型, 启动配置到运维管理都有很多可以抽象共用的地方, 目前streampark提供了一个flink一站式的流处理作业开发管理平台, 从流处理作业开发到上线全生命周期都做了支持, 是一个一站式的流出来计算平台。 未来spark开…...

SpringBoot如何优雅的处理免登录接口

在项目开发过程中,会有很多API接口不需要登录就能直接访问,比如公开数据查询之类的 ~ 常规处理方法基本是 使用拦截器或过滤器,拦截需要认证的请求路径。在拦截器中判断session或token信息,如果存在则放行,否则跳转到…...

元旦档首日票房超4.69亿,“下雪场尴尬”上热搜!

哇塞,元旦假期终于来啦!🎉在这个喜庆的时刻,电影院也热闹非凡,据猫眼专业版数据显示,截至12月30日,2023年元旦档首日票房竟然超过了4.69亿!这简直是个天文数字啊!&#x…...

CentOS系统中设置IP地址的方式和存在的问题

在CentOS系统中设置IP地址通常涉及以下步骤: 打开网络接口配置文件: 使用文本编辑器(如vi、nano或emacs)打开 /etc/sysconfig/network-scripts/ifcfg-eth0 文件。这里的"eth0"是网卡的名称,如果你的系统中有…...

使用vmware,在ubuntu18.04中使用笔记本的摄像头

步骤1:在windows中检查相机状态 win10系统中,在左下的搜索栏,搜索“相机”,点击进入即可打开相机,并正常显示图像。 注意:如果相机连接到了虚拟机,则不能显示正常。 步骤2:在ubuntu…...

中间件系列 - Redis入门到实战(高级篇-分布式缓存)

前言 学习视频: 黑马程序员Redis入门到实战教程,深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目 中间件系列 - Redis入门到实战 本内容仅用于个人学习笔记,如有侵扰,联系删除 学习目标 Redis持久化Redis主从…...

使用Visual Studio调试VisionPro脚本

使用Visual Studio调试VisionPro脚本 方法一 : 修改项目文件 csproj步骤: 方法二 : Visual Studio附加功能步骤: 方法一 : 修改项目文件 csproj 步骤: 开启VisionPro脚本调试功能 创建一个VisionPro程序…...

Ubuntu安装K8S的dashboard(管理页面)

原文网址:Ubuntu安装k8s的dashboard(管理页面)-CSDN博客 简介 本文介绍Ubuntu安装k8s的dashboard(管理页面)的方法。 Dashboard的作用有:便捷操作、监控、分析、概览。 相关网址 官网地址:…...

zookeeper之集群搭建

1. 集群角色 zookeeper集群下,有3种角色,分别是领导者(Leader)、跟随着(Follower)、观察者(Observer)。接下来我们分别看一下这三种角色的作用。 领导者(Leader): 事务请求(写操作)的唯一调度者和处理者,保…...

从0开始界面设计师 Qt Designer

QT程序界面的 一个个窗口、控件,就是像上面那样用相应的代码创建出来的。 但是,把你的脑海里的界面,用代码直接写出来,是有些困难的。 很多时候,运行时呈现的样子,不是我们要的。我们经常还要修改代码调整界…...

Html / CSS刷题笔记

WebKit是一个开源的浏览器引擎,它最初是由苹果公司开发的,并且被广泛用于Safari浏览器和其他基于WebKit的浏览器,比如Google Chrome的早期版本。它也是构建许多移动设备浏览器的基础。WebKit的主要功能是解析HTML和CSS,并将其渲染…...

关于“Python”的核心知识点整理大全51

目录 17.2.2 添加自定义工具提示 bar_descriptions.py 17.2.3 根据数据绘图 python_repos.py 17.2.4 在图表中添加可单击的链接 python_repos.py 17.3 Hacker News API hn_submissions.py 17.4 小结 往期快速传送门👆(在文章最后)&a…...

Termius for Mac/Win:一站式终端模拟器、SSH 和 SFTP 客户端软件的卓越选择

随着远程工作和云技术的普及,对于高效安全的远程访问和管理服务器变得至关重要。Termius,一款强大且易用的终端模拟器、SSH 和 SFTP 客户端软件,正是满足这一需求的理想选择。 Termius 提供了一站式的解决方案,允许用户通过单一平…...

vr体验馆用什么软件计时计费,如遇到停电软件程序如何恢复时间

vr体验馆用什么软件计时计费,如遇到停电软件程序如何恢复时间 一、软件程序问答 如下图,软件以 佳易王vr体验馆计时计费软件V17.9为例说明 1、软件如何计时间? 点击相应编号的开始计时按钮即可 2、遇到停电再打开软件时间可以恢复吗&…...

HTML---JavaScript基础

文章目录 目录 文章目录 本章目标 一.JavaScript基础 概述 特点 JavaScript 基本机构 语法 网页中引用JavaScript的方式 二. JavaScript核心语法 变量 ​编辑 数据类型 数组 练习 本章目标 掌握JavaScript的组成掌握JavaScript的基本语法会定义和使用函数会使用工具进行…...

2023年03月17日_微软和谷歌办公AI的感慨

2023年3月17日 最近这个科技圈的消息 有点爆炸的让人应接不暇了 各种大公司简直就是神仙打架 你从来没有见过这么密集的 这么高频的产品发布 昨天微软是发布了Office 365 Copilot 在里边提供了大量的AI的功能 然后谷歌呢也发布了这个Google Workspace AI 也是跟365 Cop…...

2023年新一代开发者工具 Vue ,正式开源!

以下文章来源于前端充电宝 ,作者CUGGZ 近日,Vue 新一代开发者工具(DevTools)正式开源!Vue DevTools 是一个旨在增强 Vue 开发人员体验的工具,它提供了一些功能来帮助开发者更好地了解 Vue 应用。下面就来看…...

springboot(ssm校园组团平台 高校组团系统 Java系统

springboot(ssm校园组团平台 高校组团系统 Java系统 开发语言:Java 框架:ssm/springboot vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.7(或8.0) 数据库…...

QT 利用开源7z 实现解压各种压缩包,包括进度条和文件名的显示(zip,7z,rar,iso等50多种格式)

想做一个winRAR一样的解压软件吗?很简单,利用开源的7z库就能实现。我看网上其他人说的方法不敢苟同,误人子弟。以前自己在项目中使用过7z,这次又有需要,就想记录下来。如果你研究过如何用7z的话,一定知道7z的每一个GUID都代表了一种格式,50多种GUID也就有50多个格式,最…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...

基础测试工具使用经验

背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

零基础设计模式——行为型模式 - 责任链模式

第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键&#xff…...

手机平板能效生态设计指令EU 2023/1670标准解读

手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...

什么是VR全景技术

VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...

实战设计模式之模板方法模式

概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...