Skip to content

CacheEasy中redis服务架构

fortrue edited this page Apr 16, 2018 · 2 revisions

在CacheEasy里支持创建两种类型的redis服务,一种是运行于standalone模式的redis,另一个种是运行于cluster模式的redis。

基于redis standalone和redis sentinel的redis服务

架构图

特点:

  • redis运行于standalone模式,推荐一主多从部署redis节点
  • 高可用:采用redis sentinel来实现redis节点的高可用,推荐至少部署三个redis sentinel节点
  • 可扩展:受限于单实例内存及处理能力
  • 引入redis代理predixy,对客户端屏蔽后端redis的实现细节,完全透明,predixy自动通过sentinel发现redis节点,处理主从切换等,predixy是无状态服务,可任意数量部署
  • 客户端访问predixy节点
  • 功能全面,redis的所有功能都可以不受限制的使用

基于redis cluster的redis服务

架构图

特点:

  • redis运行于cluster模式,推荐至少三主三从部署redis节点
  • 高可用:redis cluster内建高可用模式
  • 可扩展:可动态扩缩容,规模最大可达几百个节点
  • 引入redis代理predixy,对客户端屏蔽后端redis的实现细节,完全透明,predixy自动处理redis节点发现,slot分布,MOVE、ASK、主从切换、多key命令聚合等等,predixy是无状态服务,可任意数量部署
  • 客户端访问predixy节点
  • 部分功能受限,对于多key操作,代理层predixy实现了聚合,但是由于可能跨节点,所以这些操作可能不是原子的,redis事务功能受限
Clone this wiki locally