对于读多写少的场景,云数据库Redis版的读写分离实例能够提供灵活的支持。
简介
针对读多写少的业务场景,云数据库Redis版推出了读写分离的产品形态,提供高可用、高性能、高灵活的读写分离服务,解决热点数据集中及高并发读取的业务需求,最大化地节约用户运维成本。
组件
Redis读写分离版本由Proxy服务器、主备节点及只读节点组成。
备节点作为热备节点不对外提供服务。只读节点承担读请求,Proxy按权重(目前权重由系统分配 ,暂时不支持自定义)将读写请求转发到主节点或者某个只读节点上。
说明 系统会将读请求平均分配到主节点和只读节点。例如,购买3个只读节点的实例,读权重是主节点和3个只读各25%。
HA系统自动监控各节点的健康状态,异常时发起主备切换或重搭只读节点,并更新相应的路由及权重信息。
读写分离版本采取链式复制架构,可以通过扩展只读节点个数使整体实例性能线性增长;同时基于阿里云在源码层面对Redis复制流程的定制优化,可以最大程度地提升线性复制的系统稳定性。
应用和Redis读写分离版建立连接,Proxy会自动识别客户端发起的读写请求类型,按照权重作负载均衡,将请求转发到不同的数据节点中,写请求转发给主节点,读请求转发给主节点或只读节点。
Redis集群版在Redis开源协议的基础上进行开发,100%兼容Redis协议命令。支持Redis标准版(双副本)一键平滑升级至读写分离版,同时可以将自建的Redis数据库平滑迁移至Redis读写分离版。
特点
高可用
Redis读写分离版本依赖自研的HA系统自动监控所有数据节点的健康状态,为整个实例的可用性保驾护航。主节点不可用时自动选择新的主节点并且重新搭建复制拓扑。某个只读节点异常,HA系统能够自动探知并重新启动新节点完成数据同步,下线异常节点。
Proxy模块实时感知每个只读实例的服务状态。在某个只读实例异常期间,Proxy会自动降低该节点的服务权重,发现只读节点连续失败超过一定次数以后,会停止异常节点的服务权利,并具备继续监控后续重新启动节点服务的能力。
高性能
Redis读写分离版本采取链式复制架构,可以通过扩展只读实例个数使整体实例性能线性增长,充分利用每一个只读节点的物理资源。
使用场景
读取请求QPS(Query Per Second)压力较大
标准版Redis无法支撑较大的QPS,如果业务类型是读多写少类型,需要采用多个只读节点的部署方式来突破Redis单线程的性能瓶颈。Redis集群版提供1个、3个、5个等只读节点配置,相比标准版可以将QPS提升近5倍。
对Redis协议兼容性要求较高的业务
读写分离版本完全兼容Redis协议,业务可以平滑迁移。
Redis作为持久化数据存储使用的业务
读写分离版提供持久化机制及备份恢复机制,极大的保证数据可靠性。
本文来自 阿里云文档中心 数据库 Redis