请求路由 目前我们已经搭建好Redis集群并且理解了通信和伸缩细节,但还没有使用客户端去操作集群。Redis集群对客户端通信协议做了比较大的修改,为了追求性能最大化,并没有采...
节点通信 通信流程在分布式存储中需要提供维护节点元数据信息的机制,所谓元数据是指:节点负责那些数据,是否出现故障等状态信息。常见的元数据维护方式分为:集中式和P2P方式。Re...
搭建集群 介绍完Redis集群分区规则之后,下面我们开始搭建Redis集群。搭建集群工作需要以下三个步骤: 准备节点。 节点握手。 分配槽。 准备节点Redis集群一般有多个...
开发与运维中的问题 故障转移日志分析Redis Sentinel拓扑结构本次故障转移的分析直接使用9.2节的拓扑和配置进行说明,为了方便分析故障转移的过程,下表列出了每个节点...
实现原理 本节将介绍Redis Sentinel的基本实现原理,具体包含以下几个方面:Redis Sentinel的三个定时任务、主观下线和客观下线、Sentinel领导者选...
内在原因 定位到具体的Redis节点异常后,首先应该排查是否是Redis自身原因导致,围绕以下几个方面排查: API或数据结构使用不合理。 CPU饱和的问题。 持久化相关的阻...
外在原因 排查Redis自身原因引起的阻塞原因之后,如果还没有定位问题,需要排查是否由外部原因引起。围绕以下三个当面进行排查: CPU竞争 内存交换 网络问题 CPU竞争CP...
Redis是典型的单线程架构,所有的读写操作都是在一条主线程中完成的。当Redis用于高并发场景时,这条线程就变成了它的生命线。如果出现阻塞,哪怕是很短时间,对于我们的应用来...
本章重点回顾 Redis通过复制功能实现主节点的多个副本。从节点可灵活地通过slaveof命令建立或断开复制流程。 复制支持树状结构,从节点可以复制另一个从节点,实现一层层向...
拓扑 Redis的复制拓扑结构可以支持单层或多层复制关系,根据拓扑复制性可以分为以下三种:一主一从、一主多从、树状主从结构,下面分别介绍。 一主一从结构一主一从结构是简单的复...
在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他机器,满足故障恢复和负载均衡等需求。Redis也是如此,它为我们提供了复制功能,实现了相同数据的多个Redi...
本章重点回顾 Redis提供了两种持久化方式:RDB和AOF。 RDB使用一次性生成内存快照的方式,产生的文件紧凑压缩比更高,因此读取RDB恢复速度更快。由于每次生成RDB开...
AOF AOF(append only file)持久化:以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中的命令达到恢复数据的目的。AOF的主要作用是解决了数据持...
持久化 Redis支持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复。理解掌握持久化机制对于...
本章重点回顾 RESP(Redis Serialization Protocol Redis)保证客户端与服务端的正常通信,是各种编程语言开发客户端的基础。 要选择社区活跃的...
客户端案例分析 Redis内存陡增现象服务端现象:Redis主节点内存陡增,几乎用满maxmemory,而从节点内存并没有变化。客户端现象:客户端产生了OOM异常,也就是Re...