云数据库 Redis
阿里云数据库Redis版是兼容开源Redis协议标准、提供内存加硬盘混合存储的数据库服务,基于高可靠双机热备架构及可平滑扩展的集群架构,可充分满足高吞吐、低延迟及弹性变配的业务需求。参考文档
服务可靠
采用双机主从(master-replica)架构,主从节点位于不同物理机。主节点对外提供访问,用户可通过Redis命令行和通用客户端进行数据的增删改查操作。当主节点出现故障,自研的HA系统会自动进行主从切换,保证业务平稳运行。
数据可靠
默认开启数据持久化功能,数据全部落盘。支持数据备份功能,用户可以针对备份集回滚实例或者克隆实例,有效地解决数据误操作等问题。同时,在支持容灾的可用区(例如杭州可用区H+I)创建的实例,还具备同城容灾的能力。
1.redis实例购买
购买redis 购买ECS实例所以在区域即可,按所需规格购买。购买集群版双副本后的架构图如下:
2.获取redis集群内网地址
2、配置redis集群用户名bertwu和密码Bertwu123
4.连接方式
[root@web ~]# redis-cli -h r-2ze1j0xzmg6t4ngix3.redis.rds.aliyuncs.com -a "bertwu:Bertwu123"
Redis 连接方式分类:
1、设置Redis免密访问方式;
2、设置Redis外网连接地址,通过Windows连接;
3、设置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
扩展集群为四分片再次进行性能测试对比
[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数据迁移分为如下业务类型:
1.自建机房;和阿里云RDS不在一个地域或一个可用区;
2.ECS主机;和阿里云在一个地域,或可用区; (DTS)
Redis-shark迁移
Redis-Full-Check检查
文档
阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务。基于阿里云分布式文件系统和SSD盘高性能存储,RDS支持MySQL、SQL Server、PostgreSQL、PPAS(高度兼容 Oracle)和MariaDB引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼
1.基础版
RDS基础版实例也称为单机版实例,只有单个数据库节点,计算与存储分离,性价比超高。
2.高可用版
高可用版是适用性较广的云数据库系列。采用一主一备的经典高可用架构,适合80%以上的用户场景,包括互联网、物联网、零售电商、物流、游戏等行业。
高可用性
高可用版实例有一个备节点,主节点的数据会通过半同步的方式同步到备节点,当主节点出现故障无法访问时,会自动切换到备节点。
高可用版实例的主备节点可以部署在同一地域里的相同或不同可用区。
于性能考虑,高可用版实例的主备节点不可以跨地域。
3.集群版
可横向扩展集群读能力
集群版支持增加只读实例,实现线性扩展读能力。而且只读实例规格可以与主实例规格不同,因此可以通过选用更高规格的只读实例来获得更强的读能力。
4.三节点企业版
三节点企业版(原名:金融版)是面向高端企业级用户的云数据库系列。采用一主两备的三节点架构,通过多副本同步复制,确保数据的强一致性,提供金融级的可靠性。
1、获取内网地址,然后配置白名单(允许谁能连接);
2、创建管用户,登录MySQL实例; 点击账号管理–>创建用户密码
3、在ECS主机上安装MySQL命令,然后通过 mysql 命令连接RDS测试
1、开启外网访问RDS地址;
2、设置外网访问白名单地址; (公司的固定IP|0.0.0.0/0)
3、通过图形化客户端工具进行远程连接测试
升级RDS高可用架构为集群版,并实现读写分离(开发无需修改代码即可实现读写分离; 相当于MyCat )
1、添加两台只读实例;
2、配置数据库代理->开启代理服务;
1、配置其他地域自建MySQL数据库,配置grant,允许远程用户能访问;
2、配置DTS源数据库选择自建MySQL,输入用户名以及密码,测试连接;
3、配置DTS目标数据库选择RDS,数据用户名称以及密码,测试连接;
4、然后选择相应选项,进行下一步操作即可;
5、登录RDS验证数据库是否迁移成功
阿里云文件存储NAS是一个可共享访问,弹性扩展,高可靠,高性能的分布式文件系统。兼容POSIX文件接口,可支持上千台弹性计算ECS、容器服务ACK等计算节点共享访问,您无需修改应用程序,即可无缝迁移业务系统上云。相当于NFS
NAS文件存储缺陷
1、当web集群迁移至其他地域,NAS也需要随之迁移;
2、当存储的图片需要做切图、鉴黄等,NAS无法实现;
3、使用CDN缓存静态资源必须经过SLB-ECS-NAS,(回源节点过多)造成不必要的资源开销
kod对接
1、对象存储是一种分布式、基于Restful方式操作的存储服务;可以在互联网任何位置存储和访问;
2、适合存储非结构化数据;比如:视频、图片、日志、文本文件等;
3、在上传大文件时,OSS会采用分片上传;
利用海量互联网带宽,OSS可以实现海量数据的互联网并发下载。OSS提供原生的传输加速功能,支持上传加速、下载加速,提升跨国、跨洋数据上传、下载的体验。同时,OSS也可以结合CDN产品,提供静态内容存储、分发到边缘节点的解决方案,利用CDN边缘节点缓存的数据,提升同一个文件被同一地区客户大量重复并发下载的体验。
上传:通过web程序交给oss ,回源一般也指向oss
云端数据处理
上传文件到OSS后,可以配合媒体处理服务和图片处理服务进行云端的数据处理。
1.创建OSS Bucket存储,选择私有;
2.通过OSS中的权限管理–>访问控制RAM,创建一个子用户;
用户登录名称 [email protected]
AccessKey ID LTAI5tN9rvijxZNxB6MWMFw1
AccessKey Secret au8brBG5qmG0HEXQN5ZUrWwL26PHz7
3.采用编程访问的方式,启用 AccessKey ID 和AccessKey Secret;
4.再次点击用户–>添加权限–>AliyunOSSFullAccess;(给用户授权)
5.回到OSS对象存储; 点击权限管理–>Bucket授权策略,
6.将Bucket赋予为子账户管理–>授权为完全控制
上传展示:
typora对接OSS存储,实现图片自动上传至互联网;
默认情况: typora上传图片,都是相对路径,且文件存储本地;不便于分享;
改造图片存储至OSS: typora连接picgo,当上传图片时自动调用软件推送至OSS存储
1.更新Typora至最新版;
2.点击偏好设置–>图像–>插入图片时–>上传图片;
3.上传服务设定–>上传服务–>PicGo–>填写PicGo路径;
2.点击权限管理–>Bucket授权策略–>新增授权–>子账户–>完全控制权限;
3.配置PicGO–>图床设置–>阿里云OSS存储–>填写相关的配置信息;
默认插入markdown图片前缀如下
其实可以自定义域名
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