阿里云RDS-NAS-OSS

一、RDS-Redis

云数据库 Redis
阿里云数据库Redis版是兼容开源Redis协议标准、提供内存加硬盘混合存储的数据库服务,基于高可靠双机热备架构及可平滑扩展的集群架构,可充分满足高吞吐、低延迟及弹性变配的业务需求。参考文档

1.1 redis架构

  • 标准版-单副本
    标准版-单副本采用单节点架构,可以在没有数据可靠性要求的纯缓存场景充分发挥性能优势。
    标准版-单副本采用单个数据库节点部署架构,没有可实时同步数据的备用节点,不提供数据持久化和备份策略,适用于数据可靠性要求不高的纯缓存业务场景使用。阿里云自研的HA高可用系统会实时探测节点的服务情况,如果发现业务不可用,HA系统会在30秒内重新拉起一个Redis进程继续为用户提供Redis服务,可以保障服务的可用性。单副本版本具有明显的价格优势,性价比较高。
    阿里云RDS-NAS-OSS_第1张图片
    单副本版本只有一个数据库节点,节点出现故障时,系统会重新拉起一个Redis进程(没有数据),当节点故障业务自动切换完成后,应用程序需要将数据重新预热,以免对后端数据库产生访问压力冲击。
  • 标准版-双副本
    标准版-双副本采用主从架构,不仅能提供高性能的缓存服务,还支持数据高可靠。
    标准版-双副本模式采用主从(master-replica)模式搭建。主节点提供日常服务访问,备节点提供HA高可用,当主节点发生故障,系统会自动在30秒内切换至备节点,保证业务平稳运行。

阿里云RDS-NAS-OSS_第2张图片
特点:

服务可靠
采用双机主从(master-replica)架构,主从节点位于不同物理机。主节点对外提供访问,用户可通过Redis命令行和通用客户端进行数据的增删改查操作。当主节点出现故障,自研的HA系统会自动进行主从切换,保证业务平稳运行。

数据可靠
默认开启数据持久化功能,数据全部落盘。支持数据备份功能,用户可以针对备份集回滚实例或者克隆实例,有效地解决数据误操作等问题。同时,在支持容灾的可用区(例如杭州可用区H+I)创建的实例,还具备同城容灾的能力。

  • 集群版-单副本
    针对纯缓存类业务、QPS压力较大的业务场景,云数据库Redis推出单副本集群版实例,轻松突破Redis自身单线程瓶颈,满足Redis大容量或高性能的业务需求。相比于双副本集群版,提供了更高的性价比。
    集群架构的本地盘实例默认采用代理(proxy)模式,支持通过一个统一的连接地址(域名)访问Redis集群,客户端的请求通过代理服务器转发到各数据分片,代理服务器、数据分片和配置服务器均不提供单独的连接地址,降低了应用开发难度和代码复杂度。代理模式的服务架构图和组件说明如下。
    阿里云RDS-NAS-OSS_第3张图片
    在这里插入图片描述
  • 集群版-双副本
    集群架构的本地盘实例默认采用代理(proxy)模式,支持通过一个统一的连接地址(域名)访问Redis集群,客户端的请求通过代理服务器转发到各数据分片,代理服务器、数据分片和配置服务器均不提供单独的连接地址,降低了应用开发难度和代码复杂度。代理模式的服务架构图和组件说明如下。
    阿里云RDS-NAS-OSS_第4张图片
    阿里云RDS-NAS-OSS_第5张图片
    直连模式
    因所有请求都要通过代理服务器转发,代理模式在降低业务开发难度的同时也会小幅度影响Redis服务的响应速度。如果业务对响应速度的要求非常高,您可以使用直连模式,绕过代理服务器直接连接后端数据分片,从而降低网络开销和服务响应时间。直连模式的服务架构和说明如下:
    阿里云RDS-NAS-OSS_第6张图片
    使用直连模式需要先开通直连访问,获取直连地址,然后使用连接原生Redis Cluster的方式连接集群。客户端首次连接时会通过DNS将直连地址解析为一个随机数据分片的虚拟IP(VIP)地址,之后即可通过Redis Cluster协议访问各数据分片。直连模式与代理模式的连接方式区别较大,相关注意事项和连接示例请参见使用直连地址访问Redis实例。
  • 读写分离版
    针对读多写少的业务场景,云数据库Redis推出了读写分离版的产品形态,提供高可用、高性能、灵活的读写分离服务,满足热点数据集中及高并发读取的业务需求,最大化地节约运维成本。
    阿里云RDS-NAS-OSS_第7张图片
    阿里云RDS-NAS-OSS_第8张图片

1.redis实例购买
购买redis 购买ECS实例所以在区域即可,按所需规格购买。购买集群版双副本后的架构图如下:
阿里云RDS-NAS-OSS_第9张图片
2.获取redis集群内网地址
阿里云RDS-NAS-OSS_第10张图片

2、配置redis集群用户名bertwu和密码Bertwu123
阿里云RDS-NAS-OSS_第11张图片

3、配置谁可以访问redis,设置白名单
阿里云RDS-NAS-OSS_第12张图片

4.连接方式

[root@web ~]# redis-cli -h r-2ze1j0xzmg6t4ngix3.redis.rds.aliyuncs.com -a "bertwu:Bertwu123" 

Redis 连接方式分类:

1、设置Redis免密访问方式;
2、设置Redis外网连接地址,通过Windows连接;
3、设置Redis为直连模式;

Redis集群性能测试

集群分片数越多性能越好。

redis-benchmark
redis-benchmark是一个测试Redis 性能的工具,Redis性能测试是通过同时执行多个命令实现的。
语法: redis-benchmark [option] [option value]

参数:
-h:指定服务器主机名
-p∶指定服务器端口
-s∶指定服务器(Redis 也支持Socket方式连接)
-c∶指定并发连接数
-n : 指定请求数
-d : 以字节的形式指定SET/GET值的数据大小
-k : 1=keep alive (长连接)0=reconnect(重新连接)
-r : SET/GET/INCR使用随机 Key
-p : 通过管道传输请求
-q : 强制退出Redis
-l : 生成循环,永久执行测试
-t : 仅运行以逗号分隔的测试命令列表
--cluster : 支持集群模式,在早期版本不支持

双分片时候压力测试如下

[root@web redis-6.2.6]# src/redis-benchmark  -h r-2ze1j0xzmg6t4ngix3.redis.rds.aliyuncs.com  -p 6379 -t set,get -r 1000000 -n 1000000 -c 1000 


====== SET ======                                                   
  1000000 requests completed in 16.07 seconds
  1000 parallel clients
  3 bytes payload
  keep alive: 1
  host configuration "save": 
  host configuration "appendonly": yes
  multi-thread: no

Summary:
  throughput summary: 62227.75 requests per second
  latency summary (msec):
          avg       min       p50       p95       p99       max
        8.183     2.688     8.135     9.423    10.711    16.911



====== GET ===============================================================                                                   
  1000000 requests completed in 14.04 seconds
  1000 parallel clients
  3 bytes payload
  keep alive: 1
  host configuration "save": 
  host configuration "appendonly": yes
  multi-thread: no

Summary:
  throughput summary: 62227.75 requests per second
  latency summary (msec):
          avg       min       p50       p95       p99       max
        8.183     2.688     8.135     9.423    10.711    16.911

扩展集群为四分片再次进行性能测试对比

阿里云RDS-NAS-OSS_第13张图片

[root@web redis-6.2.6]# src/redis-benchmark  -h r-2ze1j0xzmg6t4ngix3.redis.rds.aliyuncs.com  -p 6379 -t set,get -r 1000000 -n 1000000 -c 1000 
====== SET ======                                                   
  1000000 requests completed in 14.69 seconds
  1000 parallel clients
  3 bytes payload
  keep alive: 1
  host configuration "save": 
  host configuration "appendonly": yes
  multi-thread: no

Summary:
  throughput summary: 68050.36 requests per second
  latency summary (msec):
          avg       min       p50       p95       p99       max
        7.494     3.440     7.439     8.551     9.871    13.375




====== GET ======================================================                                                   
  1000000 requests completed in 14.03 seconds
  1000 parallel clients
  3 bytes payload
  keep alive: 1
  host configuration "save": 
  host configuration "appendonly": yes
  multi-thread: no

Summary:
  throughput summary: 71275.84 requests per second
  latency summary (msec):
          avg       min       p50       p95       p99       max
        7.155     2.624     7.135     8.047     9.031    15.007


Redis数据迁移:

redis数据迁移分为如下业务类型:
1.自建机房;和阿里云RDS不在一个地域或一个可用区;
2.ECS主机;和阿里云在一个地域,或可用区; (DTS)
Redis-shark迁移
Redis-Full-Check检查

阿里云RDS-NAS-OSS_第14张图片

RDS-MySQL 数据库

文档
阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务。基于阿里云分布式文件系统和SSD盘高性能存储,RDS支持MySQL、SQL Server、PostgreSQL、PPAS(高度兼容 Oracle)和MariaDB引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼

产品分类

1.基础版
RDS基础版实例也称为单机版实例,只有单个数据库节点,计算与存储分离,性价比超高。
阿里云RDS-NAS-OSS_第15张图片
2.高可用版
高可用版是适用性较广的云数据库系列。采用一主一备的经典高可用架构,适合80%以上的用户场景,包括互联网、物联网、零售电商、物流、游戏等行业。
阿里云RDS-NAS-OSS_第16张图片
高可用性

高可用版实例有一个备节点,主节点的数据会通过半同步的方式同步到备节点,当主节点出现故障无法访问时,会自动切换到备节点。

高可用版实例的主备节点可以部署在同一地域里的相同或不同可用区。
于性能考虑,高可用版实例的主备节点不可以跨地域。

3.集群版
阿里云RDS-NAS-OSS_第17张图片
可横向扩展集群读能力
集群版支持增加只读实例,实现线性扩展读能力。而且只读实例规格可以与主实例规格不同,因此可以通过选用更高规格的只读实例来获得更强的读能力。

4.三节点企业版
三节点企业版(原名:金融版)是面向高端企业级用户的云数据库系列。采用一主两备的三节点架构,通过多副本同步复制,确保数据的强一致性,提供金融级的可靠性。

内网ECS连接RDS实例

1、获取内网地址,然后配置白名单(允许谁能连接);
2、创建管用户,登录MySQL实例; 点击账号管理–>创建用户密码
3、在ECS主机上安装MySQL命令,然后通过 mysql 命令连接RDS测试

外网连接RDS

1、开启外网访问RDS地址;
2、设置外网访问白名单地址; (公司的固定IP|0.0.0.0/0)
3、通过图形化客户端工具进行远程连接测试

升级架构为集群版-实践

升级RDS高可用架构为集群版,并实现读写分离(开发无需修改代码即可实现读写分离; 相当于MyCat )
1、添加两台只读实例;
2、配置数据库代理->开启代理服务;

阿里云RDS-NAS-OSS_第18张图片

DTS实现数据库迁移

1、配置其他地域自建MySQL数据库,配置grant,允许远程用户能访问;
2、配置DTS源数据库选择自建MySQL,输入用户名以及密码,测试连接;
3、配置DTS目标数据库选择RDS,数据用户名称以及密码,测试连接;
4、然后选择相应选项,进行下一步操作即可;
5、登录RDS验证数据库是否迁移成功
阿里云RDS-NAS-OSS_第19张图片

NAS 文件存储 Network Attached Storage

阿里云文件存储NAS是一个可共享访问,弹性扩展,高可靠,高性能的分布式文件系统。兼容POSIX文件接口,可支持上千台弹性计算ECS、容器服务ACK等计算节点共享访问,您无需修改应用程序,即可无缝迁移业务系统上云。相当于NFS

NAS文件存储缺陷
1、当web集群迁移至其他地域,NAS也需要随之迁移;
2、当存储的图片需要做切图、鉴黄等,NAS无法实现;
3、使用CDN缓存静态资源必须经过SLB-ECS-NAS,(回源节点过多)造成不必要的资源开销
阿里云RDS-NAS-OSS_第20张图片
kod对接
阿里云RDS-NAS-OSS_第21张图片

OSS(Object Storage Service)

1、对象存储是一种分布式、基于Restful方式操作的存储服务;可以在互联网任何位置存储和访问;
2、适合存储非结构化数据;比如:视频、图片、日志、文本文件等;
3、在上传大文件时,OSS会采用分片上传;

图片和音视频等应用的海量存储

阿里云RDS-NAS-OSS_第22张图片

网页或者移动应用的静态和动态资源分离

利用海量互联网带宽,OSS可以实现海量数据的互联网并发下载。OSS提供原生的传输加速功能,支持上传加速、下载加速,提升跨国、跨洋数据上传、下载的体验。同时,OSS也可以结合CDN产品,提供静态内容存储、分发到边缘节点的解决方案,利用CDN边缘节点缓存的数据,提升同一个文件被同一地区客户大量重复并发下载的体验。
阿里云RDS-NAS-OSS_第23张图片
上传:通过web程序交给oss ,回源一般也指向oss
云端数据处理
上传文件到OSS后,可以配合媒体处理服务和图片处理服务进行云端的数据处理。
阿里云RDS-NAS-OSS_第24张图片

OSS存储配置

1.创建OSS Bucket存储,选择私有;
2.通过OSS中的权限管理–>访问控制RAM,创建一个子用户;
阿里云RDS-NAS-OSS_第25张图片
用户登录名称 [email protected]
AccessKey ID LTAI5tN9rvijxZNxB6MWMFw1
AccessKey Secret au8brBG5qmG0HEXQN5ZUrWwL26PHz7

3.采用编程访问的方式,启用 AccessKey ID 和AccessKey Secret;
4.再次点击用户–>添加权限–>AliyunOSSFullAccess;(给用户授权)
阿里云RDS-NAS-OSS_第26张图片

5.回到OSS对象存储; 点击权限管理–>Bucket授权策略,
阿里云RDS-NAS-OSS_第27张图片
6.将Bucket赋予为子账户管理–>授权为完全控制
在这里插入图片描述
阿里云RDS-NAS-OSS_第28张图片
上传展示:
阿里云RDS-NAS-OSS_第29张图片

typora对接OSS实现自动上传图片

typora对接OSS存储,实现图片自动上传至互联网;
默认情况: typora上传图片,都是相对路径,且文件存储本地;不便于分享;
改造图片存储至OSS: typora连接picgo,当上传图片时自动调用软件推送至OSS存储

1.配置typora

1.更新Typora至最新版;
2.点击偏好设置–>图像–>插入图片时–>上传图片;
3.上传服务设定–>上传服务–>PicGo–>填写PicGo路径;
阿里云RDS-NAS-OSS_第30张图片

2. 配置PicGO连接OSS

1.创建一个OSS的Bucket存储,设定权限为公共读;
阿里云RDS-NAS-OSS_第31张图片

2.点击权限管理–>Bucket授权策略–>新增授权–>子账户–>完全控制权限;
阿里云RDS-NAS-OSS_第32张图片

3.配置PicGO–>图床设置–>阿里云OSS存储–>填写相关的配置信息;
阿里云RDS-NAS-OSS_第33张图片

实现自定义域名

默认插入markdown图片前缀如下
在这里插入图片描述
其实可以自定义域名
阿里云RDS-NAS-OSS_第34张图片
1.回到OSS中–>传输管理–>域名管理–>绑定域名;
2.填写对应的自定义域名–>添加CNAME别名即可;
3.为自定义域名颁发证书;否则无法通过HTTPS访问资源;
4.回到OSS中–>传输管理–>域名管理–>上传证书;
5.回到typora上传图片,使用自定义域名访问测试;
6.配置PicGO–>图床设置–>阿里云OSS–>设置自定义域名;

实现自动添加水印

1.回到OSS中–>数据处理–>图片处理–>新建样式;
2.回到文件管理–>找到一张图片–>选择图片样式–>获取访问图片地址整体代码;
3.提取访问图片?后面一段样式内容代码–>?x-oss-process=style/ddd
3.配置PicGO–>图床设置–>阿里云OSS–>设置网址后缀?x-oss-process=style/ddd
阿里云RDS-NAS-OSS_第35张图片

你可能感兴趣的:(云计算,阿里云,数据库,redis)