redis集群扩容过程 redis扩展集群

redis集群是什么意思1、Redis 集群是一个分布式(distributed)、容错(fault-tolerant)的 Redis 实现 ,  集群可以使用的功能是普通单机 Redis 所能使用的功能的一个子集(subset) 。
2、Redis集群介绍Redis 集群是一个提供在多个Redis间节点间共享数据的程序集 。
3、Redis 集群是指将多个 Redis 节点组合在一起,以形成一个统一的、可扩展的数据存储系统 。这种方法可以确保数据在整个集群中的一致性和可用性 。
如何实现高可用的redis集群Redis 高可用方案常用的有两种:Redis Sentinel 和 Redis Cluster  , 本篇笔记介绍这两种方案如何在 Kubernetes 中部署 。
您可以使用 Kubernetes StatefulSets 和 PersistentVolumes 在 Kubernetes 中部署 Redis 集群 。以下是一个简单的步骤: 创建一个 ConfigMap , 其中包含 Redis 配置文件 。
主从复制可以提高Redis集群的可用性,当主节点出现故障时 , 从节点可以自动或者手动替代主节点的职责 , 从而保证Redis集群的高可用性 。
Sentinel : redis 自带的主从切换工具,我们通过 sentinel 实现集群高可用 。客户端( Smart Client ):客户端通过约定查找 redis 实例在 ZooKeeper 中写入的地址 。
redis集群方案有哪些基于以上,Redis集群方案显得尤为重要 。通常有3个途径:官方Redis Cluster;通过Proxy分片;客户端分片(Smart Client) 。以上三种方案各有利弊 。
Redis官方集群方案 Redis Cluster Redis Cluster是一种服务器Sharding技术,0版本开始正式提供 。Redis Cluster中,Sharding采用slot(槽)的概念,一共分成16384个槽,这有点儿类pre sharding思路 。
使用Jedis带的客户端分片ShardedJedisPool类 。使用代理进行分片twemproxy,连接代理可以使用Jedis类(单链接)和JedisPool类(多链接) 。
传统的Redis集群采用的主从复制模式,一般为一主多从,主节点有读写权限 , 但是从节点只有读的权限 。主节点会定期将数据同步到从节点中,保证数据一致性的问题 。
redis-cluster投票:容错,投票过程是集群中所有master参与 , 如果半数以上master节点与master节点通信超过(cluster-node-timeout),认为当前master节点挂掉 。
以下是一个简单的步骤: 创建一个 ConfigMap , 其中包含 Redis 配置文件 。创建一个 StatefulSet , 其中包含 3 个副本的 Redis Pod 。创建一个 PersistentVolumeClaim,用于存储 Redis 数据 。
Redis集群模式1-主从复制+哨兵机制传统的Redis集群采用的主从复制模式,一般为一主多从,主节点有读写权限,但是从节点只有读的权限 。主节点会定期将数据同步到从节点中,保证数据一致性的问题 。
哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令 , 哨兵是一个独立的进程,作为进程,它会独立运行 。其原理是哨兵通过发送命令 , 等待Redis服务器响应,从而监控运行的多个Redis实例 。
因此,主从模式的一个缺点,就在于无法实现自动化地故障恢复。Redis后来引入了哨兵机制,哨兵机制大大提升了系统的高可用性 。哨兵,就是站岗放哨的 , 时刻监控周围的一举一动,在第一时间发现敌情并发出及时的警报 。
Redis 高可用的主要有三种模式: 主从模式,哨兵模式和集群模式 。Redis 提供了 Redis 提供了复制(replication)功能,当一台 redis 数据库中的数据发生了变化,这个变化会被自动地同步到其他的 redis 机器上去 。
集群监控,负责监控redis master 和slave进程是否正常工作 。(2)消息通知,如果某个redis实例有故障,那么哨兵负责发送消息作为报警通知给管理员 。(3)故障转移,如果master node挂掉了,会自动转移到slave node上 。
【redis集群扩容过程 redis扩展集群】哨兵模式就是在主从模式的基础上再加一个哨兵集群 。每个哨兵都会监控主节点和从节点的状态 。如果主节点挂了,就会从从节点中选出一个来作为主节点 , 以达到高可用的目的 。

    推荐阅读