文章目录
1.云数据库Redis基本介绍
官方文档链接:https://help.aliyun.com/document_detail/26341.html
1.1.什么是云数据库Redis
云数据库Redis版(ApsaraDB for Redis)是兼容开源Redis协议标准、提供混合存储的数据库服务,基于双机热备架构及集群架构,可满足高吞吐、低延迟及弹性变配等业务需求。
阿里云Redis其实就是基于Redis进行二次开发的产品,在Redis的基础上增加了HA组件,提供自动的故障切换,主从模式的Redis也可以实现自动的故障切换,传统的Redis主从是不具备故障切换的,都需要人为手动切换。
另外云Redis在集群模式中增加了proxy代理路由组件,提供一个集群地址,只需要将这个地址配置在程序中,无需开发做任何配置,就可以通过proxy代理,将数据写入到不同的槽位和分片中。
云数据库Redis还提供了读写分离模式,类似于MySQL的读写分离,读写分离在传统的Redis中是不具备的。
1.2.Redis标准版单副本架构
应用场景: 纯缓存类业务场景
单副本架构也就所谓的单节点的Redis,不存在数据备份机制,云Redis都会通过SLB提供一个特定访问地址,用于ECS连接,但副本的云Redis只有一个工作节点,当Process A节点故障不可用后,HA组件会再启动一个Redis保证服务的正常运行,A节点故障后启动B节点时,会有较长时间导致服务的不可用,并且单节点没有副本节点进行数据同步,会造成数据的丢失。
单副本的Redis适用于对数据可靠性不高的纯缓存应用的场景,对数据无所谓就是起到一个缓存的作用,使用单副本的性价比较高。
单副本的Redis不推荐在生产环境中使用。
1.3.Redis标准版双副本架构
应用场景: Redis作为持久化数据存储使用的业务
标准版双副本架构就是在单副本的基础上增加了一个副本节点,双副本架构中一个节点为Master,一个节点为Replica也就是Slave,双副本组成主从复制架构,当主节点故障后,HA会将副本节点在30秒内自动切换成主节点,保证业务稳定运行。
主从复制架构在传统的Redis中是不具备故障切换的机制,而云Redis则会通过HA自动进行切换。
1.4.Redis集群版单副本架构
集群版Redis架构
集群版的云Redis增加了Proxy组件和Config组件,每个集群版的Redis中都会有很多个Proxy组件,Proxy组件充当代理或者路由的角色, 支持通过一个统一的连接地址(域名)访问Redis集群 ,客户端的请求通过Proxy转发到各个数据分片,开发只需要配置连接Redis的域名直接就可以将数据写入到Redis。
数据分片、代理服务器、配置服务器均不提供单独连接地址,降低了开发难度和代码的复杂度,任何操作都是由Proxy组件来完成的,对于开发和运维来说都是非常简单的,不需要过多的精力去维护,但在一定程度上也增加了部分延迟和影响了部分性能,因为所有的请求首先达到Proxy组件,在由Proxy来进行转发,转发的过程中可能会存在一定的延迟,而传统的Redis Cluster直接就是将请求分发到了数据分片也就是槽位。
应用场景:针对纯缓存类业务、QPS压力较大的业务场景,云数据库Redis推出单副本集群版实例,轻松突破Redis自身单线程瓶颈,满足Redis大容量或高性能的业务需求。
单副本的Redis架构:请求由Proxy代理分发给不同的Master节点进行分片数据存储,集群中的配置信息都保存在Config组件,单副本的集群中是没有备用节点的,Redis集群是分布式结构,数据是以分片存储在不同的节点中,当集群中某一个节点故障,那么存储在这个节点上的数据就会丢失,造成数据异常,这也是单副本架构的弊端,因此单副本的Redis集群适用于对数据可靠性要求不高的纯缓存的应用场景。
1.5.Redis集群双副本架构
应用场景: 数据量较大、QPS压力较大
双副本架构是在单副本架构的基础上为每一个Master节点提供了一个副本节点,即使集群中一个节点故障,备用节点也会通过HA自动切换成主节点,在保证数据可靠性的同时也保证了业务的稳定。
1.6.Redis集群的直连架构
Redis集群不管是单副本还是双副本的架构中,多多少少都会存在网络延迟,请求都是靠Proxy进行转发的,虽然一个集群中拥有很多个Proxy,但是也不如直接请求数据分片性能高。
如果不希望产生延迟,业务对响应速度的要求非常高,那么可以使用直连模式,绕过代理服务器至二级连接数据分片镜像存储,从而降低延迟。
架构图如下:每一个节点的数据分片都有一个连接地址,通过这个地址直接请求数据分片,开发难度大大增加,开发同事必须对Redis有足够的了解,否则是做不到的。
1.7.Redis集群读写分离架构
应用场景:数据量巨大的场景
在读写分离中Proxy组件相当于MySQL的mycat,用于将请求分流,Proxy会将所有读的请求转发给只读节点,将所有写的操作转发给主节点,主节点也会有一个备用节点,这两个节点会进行数据同步,即使主节点挂了,备用节点会切换成主节点,保证服务的稳定运行,在云Redis的读写分离架构中,主节点也会处理读的请求,比如有3个只读节点1个主节点,那么主节点也会处理25%的读操作。
2.购买云数据库Redis
在控制台中搜索云数据库Redis版进入Redis控制台。
2.1.创建Redis实例
点击实例列表—>创建实例。
2.2.配置商品类型及可用区
商品类型选择案例付费—>地域选择华北2—>可用区选择单可用区—>主可用区选择可用区A—>指定可用区A的网络以及交换机。
Redis要放在和ECS同一个地域中,可用区在哪里都可以。
2.3.设置Redis的规格
版本类型采用社区版—>版本号选择Redis5.0—>架构类型为集群版—>分片数为2分片—>节点类型为双副本—>实例规格为2G集群版—>密码稍后设置—>填写实例的名称为kodcloud-redis-cluster—>点击立即购买。
2.4.确认订单立即开通
首选同意协议—>点击立即开通。
2.5.查看购买的Redis实例
Redis实例的创建是非常慢的,大概在5-10分钟。
版权归原作者 Jiangxl~ 所有, 如有侵权,请联系我们删除。