为什么集群要奇数_Redis 集群

本文介绍了Redis集群的重要性,强调了使用奇数个Sentinel节点的原因,详细阐述了Redis主从复制、Sentinel哨兵模式以及Redis-cluster集群的工作原理和故障转移机制。内容涵盖集群搭建、哨兵部署、主节点故障切换,以及如何通过java程序连接Redis集群。
摘要由CSDN通过智能技术生成

1 redis集群简介:

1.1 集群的概念

所谓的集群,就是通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定、高效的状态(高可用)。

1.2 使用redis集群的必要性

问题:我们已经部署好了redis,并且能启动一个redis,实现数据的读写,为什么还要学习redis集群?

  1. 单个redis存在不稳定性。当redis服务宕机了,就没有可用的服务了。
  2. 单个redis的读写能力是有限的。

redis集群是为了强化redis的读写能力。

1.3 如何学习redis集群

  1. redis集群中,每一个redis称之为一个节点。
  2. redis集群中,有两种类型的节点:主节点(master)、从节点(slave)。
  3. redis集群,是基于redis主从复制实现。

所以,学习redis集群,就是从学习redis主从复制模型开始的。

2 redis主从复制

2.1 概念

主从复制模型中,有多个redis节点。其中,有且仅有一个为主节点Master。从节点Slave可以有多个。只要网络连接正常,Master会一直将自己的数据更新同步给Slaves,保持主从同步。

c23a755cf08311547665e85d42ebde6e.png

2.2 特点

  1. 主节点Master可读、可写
  2. 从节点Slave只读。(read-only)

因此,主从模型可以提高读的能力,在一定程度上缓解了写的能力。因为能写仍然只有Master节点一个,可以将读的操作全部移交到从节点上,变相提高了写能力。

2.3 基于配置实现

2.3.1 需求

adb3b101f1e4a3079a247d52de947efa.png

2.3.2 配置步骤

  1. 在 /usr/local 目录下,创建一个 /redis/master-slave 目录
  2. 在 master-slave 目录下,创建三个子目录 6380、6381、6382
  3. 依次拷贝redis解压目录下的 redis.conf 配置文件,到这三个子目录中
  4. 进入 6380 (master) 目录,修改 redis.conf ,将 port 端口修改成 6380 即可
  5. 进入 6381 (slave) 和 6382 目录,分别修改 redis.conf,将 port 端口改成 6381、6382,同时指定开启主从复制。
d22bed68f26f992b8976ee54bf525215.png
88f6dec1f23edf6e42d6cc627eaebfe8.png

2.3.3 测试

依次启动主从节点,主节点的日志中会显示从节点的连入。经测试可以看到,主节点可以读写,从节点默认只能读不能写。

aee93a797a40f84f64a5219b1492c381.png

3 Sentinel哨兵模式

3.1 主从模式的缺陷

当主节点宕机了,整个集群就没有可写的节点了。由于从节点上备份了主节点的所有数据,那在主节点宕机的情况下,如果能够将从节点变成一个主节点,是不是就可以解决这个问题了呢?是的,这个就是Sentinel哨兵的作用。

3.2 哨兵的任务

Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务:

  • 监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。
  • 提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。
  • 自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会进行选举,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值