目录

  • 前言
  • 1. 配置 MemoryDB
    • 1.1 获取 AWS 访问密钥
    • 1.2 下载和配置 AWS CLI
  • 2. 配置集群
    • 2.1 创建集群
    • 2.2 授予集群访问权限
    • 2.3 连接到集群
    • 2.4 删除集群
  • 总结

前言

传统的自建Redis通过Jedis、Redisson以及Lettuce

  • Jedis:由JAVA实现,支持较为全面的Redis命令
  • Redisson:分布式操作多以及可拓展性强
  • Lettuce:分布式缓存框架应用比较多

对比传统方法以及传统数据库,通过云数据库搭建Redis,从效率、操作、安全以及可用性来说,功能效果非常齐全,将其传统数据库中的缺点转变成优点。

MemoryDB 同时可提供内存性能和多可用区持久性,可用作微服务应用程序的高性能主数据库,无需单独管理缓存和持久数据库
MemoryDB of Redis 拥有持久化内存数据库服务,提供超快的性能

  1. MemoryDB 与流行的开源数据存储 Redis 兼容,能够使用友好的Redis 数据结构、API 和命令快速构建应用程序
  2. MemoryDB可将所有数据都存储在内存,实现微秒级读取和个位数毫秒级写入,从而达到低延迟和高吞吐量
  3. 使用多可用区事务日志来跨多个可用区从而达到持久存储数据,以实现快速故障转移、数据库恢复和节点重启
    其核心组件拥有:集群、节点、碎片等

关于Amazon的其他数据库也有很多种类型,优点很多而且非常容易上手:数据库免费试用链接及上手教程。再者不定期的举办技术会议来促进交流,通过云原生数据库在线大会的链接网址,可以学到更多前沿技术。不仅文档教程代码齐全,而且免费套餐力度特别大,亚马逊云科技提供了100余种产品免费套餐。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB标准存储容量;数据库资源 Amazon RDS 首年12个月免费,750小时;Amazon Dynamo DB 25GB存储容量 永久免费。附上链接:100余种产品免费套餐

在进入正文原理以及实验讲解的同时,需要注册账号以及验证个人信息
(注:1. 个人信息的地址需要使用英文
2. 账单信息使用VISA等信用卡或借记卡号)

1. 配置 MemoryDB

1.1 获取 AWS 访问密钥

主要步骤如下:

  1. 通过前面的步骤注册登录 AWS 管理控制台,通过如下打开IAM 控制台 。
  2. 在左侧导航栏目中,选择 Users (用户),创建用户(选择Security credentials (安全凭证) 选项卡),在 Access keys(访问密钥) 部分,选择 Create access key (创建访问密钥)
  3. 设置权限(将其用户添到组中),并且设置权限的边界(如果不设置权限会提示此用户没有访问权限)。
  4. 要查看新访问密钥对,请选择 Show (显示)。关闭此页面后,您将无法再次访问该私有访问密钥。您的凭证与下面类似:
  5. 要下载密钥对,请选择 Download .csv file (下载 .csv 文件)。将密钥存储在安全位置。

1.2 下载和配置 AWS CLI

配置凭证的方式可以通过编程方式或通过AWSCLI(须配置凭证来为应用程序启用授权)
下载和配置的文档链接如下:AWS CLI

展示界面Windows的安装过程(命令比较少):

同理linux平台上的安装过程(其他平台同理):

之后还需要配置凭证,通过aws configure(以下显示示例值)

AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json

截图如下:

2. 配置集群

2.1 创建集群

创建集群的方式有三种:

第一种:通过控制台
具体步骤如下,点击创建集群

子网组、VPC以及子网(如果启用了多可用区,子网组包含两个不同可用区以上的子网)

设置集群

  • 版本:兼容性选择默认值6.2
  • 端口:默认值选择Redis的6379(如果端口冲突,可选择相应的端口号)
  • 参数组:默认选择default.memorydb-redis6
  • 节点类型:选择适合节点类型的内存值
  • 分片数量:该集群所需的分区数(为了提高集群可用性,建议选择2个分片以上)
  • 副本数:为分片中选择需要的只读副本数(如果启用多可用区,每个分片1个副本以上)

对于高级选项中的安全组(充当防火墙来控制对集群的网络访问)

  • 加密数据(静态加密:对磁盘上存储的数据加密;传输中加密:对传输的数据启用加密)

之后的快照、维护以及集群标签部分视个人情况而定

第二种:通过AWSCLI

  • Linux示例代码:
aws memorydb create-cluster \--cluster-name my-cluster \--node-type db.r6g.large \--acl-name my-acl \--subnet-group my-sg
  • Windows示例代码:
aws memorydb create-cluster ^--cluster-name my-cluster ^--node-type db.r6g.large ^--acl-name my-acl ^--subnet-group my-sg

成功创建之后会输出一串json格式

第三种:通过API

以上三种更加详细的说明可看:创建集群文档

2.2 授予集群访问权限

所有 MemoryDB 集群通过 Amazon EC2 实例进行访问(须授权EC2实例)
同一 VPC 中 EC2 实例与集群之间的访问
启动实例的具体步骤:Amazon EC2 控制台

  1. 创建密钥对(启动的实例没有密钥对,就不能连接到该实例)

创建实例

  • Name and tags:名称与标签
  • Application and OS Images (Amazon Machine Image):快速启动和AMI映像
  • 实例类型:默认选择t2.micro实例类型(如果t2.micro实例不可用的区域,可选择t3.micro 实例)
  • 密钥对:选择一开始创建的密钥对
  • 网络设置:选择现有的安全组或者创建新的安全组(此安全组可用于限制对集群的访问权限)

在集群的安全组中创建自定义规则(此安全组将允许访问其他安全组成员),编辑入站规则,选择添加规则
Type 中选择 Custom TCP Rule

  • 端口号:指定创建集群时的端口(此处为了方便测试,统一使用了广播地址0.0.0.0)
  • Source源:安全组的ID

启用连接访问后,就可连接到集群

最后的展示页面如下:

2.3 连接到集群

确定集群的终端节点:(通过describe-clusters命令搜索集群终端节点)

aws memorydb describe-clusters \--cluster-name mycluster

命令将返回集群的终端节点,通过json格式响应

使用 redis-cli 连接到 MemoryDB 节点
下载并编译 redis-cli 实用工具:

$ sudo yum -y install openssl-devel gcc
$ wget http://download.redis.io/redis-stable.tar.gz
$ tar xvzf redis-stable.tar.gz
$ cd redis-stable
$ make distclean
$ make redis-cli BUILD_TLS=yes
$ sudo install -m 755 src/redis-cli /usr/local/bin/

编译执行过程截图:

在EC2的实例中执行如下命令(集群和端口的终端节点替换此示例)
通过src/redis-cli -c -h Cluster Endpoint --tls -p 6379
具体Cluster Endpoint的集群通过点击集群终端节点即可查看

2.4 删除集群

将其创建集群的名称删除即可
单独删除一个集群:aws memorydb delete-cluster --cluster-name my-cluster
删除多个集群:

aws memorydb delete-cluster \--cluster-name my-cluster \--region us-east-1

总结

纵观全文,通过阅读文档以及整套实验下来,行云流水,得益于文档以及功能都比较齐全,体验感很美妙。本身MemoryDB无需单独管理缓存和持久数据库,是一款非常高性能的数据库,基于Redis提供了持久化内存数据库服务,有其读取以及写入数据,达到低延迟和高吞吐量;能够友好使用Redis的数据结构、API 和命令快速构建应用程序

通过以上的实验步骤,你已经可以入门学习了,更多的探索部分如果还想了解学习可通过:Amazon MemoryDB for Redis 官网文档

亚马逊云科技专为开发者们打造了多种学习平台:
①入门资源中心:从0到1 轻松上手云服务,内容涵盖:成本管理,上手训练,开发资源。
② 架构中心:亚马逊云科技架构中心提供了云平台参考架构图表、经过审查的架构解决方案、Well-Architected 最佳实践、模式、图标等。
③构建者库:了解亚马逊云科技如何构建和运营软件。
④工具包:用于在亚马逊云科技平台上开发和管理应用程序。

除了代码文档齐全完善,为了让更多的人体验体会,特此推出【专属福利】
福利一:100余种产品免费套餐。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB标准存储容量。
福利二:最新优惠大礼包:200数据与分析抵扣券,200数据与分析抵扣券,200数据与分析抵扣券,200机器学习抵扣券,200$微服务与应用开发抵扣券。
福利三:解决方案CloudFormation一键部署模版库

一文读懂基于Redis的Amazon MemoryDB数据库相关推荐

  1. 一文读懂基于PN532和S50的NFC开发

    基于PN532和S50的NFC开发 1. NFC概述 NFC(Near Field Communication)近场通信,这个技术由非接触式射频识别(RFID)演变而来,由飞利浦半导体(现恩智浦半导体 ...

  2. 一文读懂基于RC522和S50的RFID开发

    基于RC522和S50的RFID开发 1. ISO14443-A协议 ISO14443协议是Contactless card standards(非接触式IC卡标准)协议,由4个部分组成: 物理特性: ...

  3. 一文读懂基于神经网络的图片风格转移

    作者 | moliam 转载自 CSDN 博客 前言 将A图片的风格转移到B图片上,指的是将A图片的抽象艺术风格(如线条.色彩等等)和B图片的内容框架合成为一幅图.自然地,A图片称为风格图,而B图片就 ...

  4. 部门角色权限rbac_k8s十 | 一文读懂基于角色的权限控制RBAC

    一.ServiceAccount . 1. ServiceAccount 介绍 首先Kubernetes中账户区分为:User Accounts(用户账户) 和 Service Accounts(服务 ...

  5. 一文读懂基于小程序的图像识别

    基于微信小程序的图像识别 前言:闲来无事想用小程序做一些简单且容易上手的功能,顺便接触下自己从未涉及到的领域,本文功能采用微信小程序原生开发,纯前端调用开放平台接口,无后端封装,新手也能迅速上手. 目 ...

  6. 一文读懂大数据平台——写给大数据开发初学者的话!

     一文读懂大数据平台--写给大数据开发初学者的话! 文|miao君 导读: 第一章:初识Hadoop 第二章:更高效的WordCount 第三章:把别处的数据搞到Hadoop上 第四章:把Hado ...

  7. 独家 | 一文读懂语音识别(附学习资源)

    原标题:独家 | 一文读懂语音识别(附学习资源) 一.前言 6月27日,美国权威科技杂志<MIT科技评论>公布2017全球最聪明50家公司榜单.科大讯飞名列中国第一.全球第六.全世界排在科 ...

  8. 腾讯资深架构师干货总结:一文读懂大型分布式系统设计的方方面面

    1.引言 我们常常会听说,某个互联网应用的服务器端系统多么牛逼,比如QQ.微信.淘宝.那么,一个大型互联网应用的服务器端系统,到底牛逼在什么地方?为什么海量的用户访问,会让一个服务器端系统变得更复杂? ...

  9. 一文读懂:本地数据湖丨数据仓库丨云数据湖的利与弊

    数据湖指的是一个中心位置,大量数据以原始的.非结构化的格式存储,其中包含有关数据和惟一标识符的信息.它们存储的数据可以稍后进行处理,以提取有价值的业务见解并推动业务向前发展. 这种类型的灵活组织允许存 ...

最新文章

  1. 新人如何快速上手新项目?
  2. 如何根据用户IP得到用户所在位置。
  3. c语言素数个数_C语言试题及答案
  4. ANDROID自定义视图——onMeasure流程,MeasureSpec详解
  5. 正则表达式(不断更新,欢迎纠错)
  6. tf.name_scope tf.variable_scope学习
  7. Multi_thread--Linux下多线程编程中信号量介绍及简单使用
  8. (9)css常用样式--盒子模型
  9. 机器学习花朵图像分类_在PyTorch中使用转移学习进行图像分类
  10. windows server 2008 安装linux,使用WSL在Windows Server 2019上运行Linux的方法
  11. COCOS2D-X编译成android的项目
  12. 中班音乐计算机反思,中班音乐游戏打字机教案反思
  13. 配置keepalived实现Nginx高可用(单主、双主模式)
  14. 深圳非深户未满一年社保居住证办理流程
  15. 《2022数字藏品研究报告》首发,读懂NFT中西方价值捕获的分化之路
  16. [紧急通告]关于蓝色理想经典论坛无法访问的声明
  17. anaconda安装python3.6_Windows10配置Anaconda+Python3.6+TensorFlow+PyCharm
  18. sql函数RIGHT的简单用法
  19. Mardown、LaTex编辑器推荐
  20. 全国十大加班城市排行榜加班最疯狂的城市

热门文章

  1. 永中office的秘密
  2. html5实现圆圈里带一个三角形,Fabric.js - 详细使用教程1(绘制图形:矩形、圆形、三角形、不规则图形)...
  3. map与java对象相互转换
  4. 一个简单的公式解析器
  5. 【云栖大会】高德技术副总裁田密:智能定位带来的时代新机会
  6. 贝加莱伺服驱动器电源维修ACOPOS multi C0320
  7. python兼容c语言吗_python是c语言开发的吗
  8. vue3+vite +element-plus+tailwindcss兼容低版本浏览器(uc)
  9. 什么是模块,Python模块化编程(入门必读)
  10. Python数据分析:股票数据分析案例