本文是来自阿里巴巴夏周同窗的分享,详细介绍了阿里云Redis的发展和现状。面试
Redis简介
Redis:Remote Dictionary Server,Key-Value存储系统,优势包括:数据库
- 易用性:丰富的数据结构支持,Module
- 高性能:高校的数据结构设计,全内存操做
- 可靠性:主备同步,持久化
阿里云Redis架构
总体架构
单节点->单机主备->集群->读写分离->同城容灾->异地多活缓存
阿里云总体架构包含6大支撑系统:安全
实例高可用探测模块,用于探测监听Redis实例运行状况。网络
进行云数据库Redis版运行状况的日志收集,包括实例慢查询日志,访问日志等。数据结构
进行Redis实例性能监控,信息的收集工做,目前包括基本信息组监控,keys组信息监控,string信息组监控等核心信息多线程
当实例所运行的物理机出现故障,在线迁移系统会根据备份系统中的备份文件进行实例从新搭建,保证业务不受影响架构
针对Redis实例进行备份处理,而且将生成的备份文件存储在OSS系统上进行保存。目前Redis备份系统支持用户自定义备份设置,可临时备份而且保存7天内的备份文件。异步
Redis实例支持多中管理控制任务,如建立实例、变动配置、备份实例等,任务系统会根据用户下发的操做指令,进行灵活控制而且进行任务跟踪及出错管理。memcached
双副本架构

- 适用场景:纯缓存,数据持久化
- 性能:8-10w qps
- 链路:内部SLB -> Redis
- 访问方式:兼容全部开源客户端
- SLA:2副本,HA高可用,秒级切换
集群双副本架构

- 适用场景:数据量大,性能要求高
- 性能:100w qps
- 链路:内部SLB -> Redis
- 访问方式:兼容全部开源客户端
- SLA:分片2副本,高可用
读写分离架构

- 适用场景:读多写少,超大Key,不要求强一致性
- 优点:
读写能力线性扩展;支持全部命令;对用户透明
同城容灾

数据可用性高
- 优点:
用户数据双机房热备,单机房故障,业务无缝切换;机房恢复后,基于Binlog增量同步,防止流量雪崩
异地容灾+多活

- 适用场景:
多点读写,就近读写
- 优点:
容忍N-1机房故障;最终一致;跨地域灾备
混合存储

- 适用场景:
超大数据量,性能要求适中,视频直播类应用,电商类应用
- 优点:
100%兼容Redis;冷热数据分离;超高性价比
阿里云Redis内核优化

- 兼容Memcache协议
- 高可用探测
- AOF Binlog
- 持久化系统优化
- 安全加密
- IO、链接优化
持久化系统改造:
- 保留历史AOF日志
- 去除AOF Rewrite
- 扩展AOF日志信息


独立的端口探测线程:
- 单独的事件
- 主线程阻塞不受影响
- 坏盘探测
- 慢内存探测
- 快速容灾
AOF后台异步写优化:
- 新增biowrite模式
- 轻量级别锁队列
- bio线程进行线程写入操做
- 提升性能,避免write慢对主线程的影响
支持Memcache协议:
- 支持文本及二进制协议,彻底兼容
- 复用Redis String对象存储memcached
- 复用原生Redis同步协议
- 复用原生Redis持久化机制
- 新版本Memcache支持扫描、备份、更多统计信息
混合存储优化:
- 内存中保持全部key和热数据
- RocksDB中存冷数据
- 热数据性能和Redis一致
- 100%兼容Redis
- 数据换出异步写RocksDB,不阻塞主线程
- 单实例支持TB+数据存储
网络IO多线程优化。
声明:本号全部文章除特殊注明,都为原创,公众号读者拥有优先阅读权,未经做者本人容许不得转载,不然追究侵权责任。
关注个人公众号,后台回复【JAVAPDF】获取200页面试题!5万人关注的大数据成神之路,不来了解一下吗?5万人关注的大数据成神之路,真的不来了解一下吗?5万人关注的大数据成神之路,肯定真的不来了解一下吗?
