IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> redis主从复制,哨兵模式 -> 正文阅读

[大数据]redis主从复制,哨兵模式

redis集群环境搭建

主从复制概念

主从复制是指,将一台redis服务器的数据复制到其他redis服务器。主节点(master)以写为主,从节点(slave)以读为主。
数据复制时单向的,只能从主节点到从节点。

主从复制的主要作用

数据冗余
故障恢复
负载均衡
高可用(集群)基石:主从复制是哨兵和集群能实施的基础

集群搭建

redis使用中,不能只用一台服务器的,原因如下:
1,从结构上,单个redis会发生单点故障问题,并且服务器处理所有请求,压力较大。读多写少,可以一主三从。
2,从容量上,单个reids容量有限,一台redis服务器不能将所有内存都用作reids存储内存,一般一台redis最大使用内存不应该超过20G。

步骤

增加几个不同的配置文件:
redis80.conf …
修改一下内容:
端口,pid名字,log文件名,dump.rdb文件名

启动三个redis-server服务,默认三个服务都是主节点,master

为辅节点配置主节点(这里我选6379为主节点):slaveof 127.0.0.1 6379
此时查看当前redis服务:info replicaiton

注:配置文件中修改是永久修改,而命令修改是临时修改

细节

主机负责写,从机负责读(从机不能写)。
主机断开连接时,从机依然连接到主机,但是依然没有写操作
主机恢复后,从机依然可以读到主机新写入的信息
从机断开后,主机检测不到从机,此时,如果使用命令行配置:重启后从机变成自己的主机,断开后的数据无法同步,从机重新连接主机后数据会重新写入;(两个专业名词:全量复制,增量复制)如果使用配置文件配置:从机重启后自动重连。

复制原理

slave启动后会向master发送一个sync同步命令
master接到后启动存盘进程,更新数据集后,将这个数据文件传到slave,完成一次完全同步
全量复制:slave接收到这个数据文件后,将其存盘并加载到内存
增量复制:master继续将新修改的命令传给slave完成同步
所以,slave重连时自动执行全量复制

宕机后手动配置主机

将从节点当作主节点的链式主从

比如79为主节点,80为79的从节点,81将主节点设为80,此时,80依然是从节点

但是如果79主机断开连接,80可以通过slaveof no one让自己变成主机,其他节点都可以连到最新节点。
此时看配置info replication就发现就算79主机回来,80依然是master.
我们现在手动配置,哨兵模式就是自动选举。

哨兵模式(自动选举模式)

当master宕机后,需要手动切换一台服务器,会造成一段时间的服务不可用(商业问题将会非常麻烦)。
redis2.8以后就有了。能够后台监控主机是否故障,如果故障了根据投票数自动将slave换成master。

哨兵是一个独立的进程,它的运行原理就是:通过发送命令,等待redis服务器响应,从而监控多个redis实例
redis-sentinel文件
哨兵的作用:
1,发送命令,监控redis服务器运行状态(包括master和slave)
2,当哨兵监测到master宕机,会通过发布订阅模式通知其他slave,修改配置文件,让slave切换成master
为了降低风险(一个哨兵监控redis可能会出现问题),我们使用多个哨兵监控。各个哨兵间还会进行互相监控,这样就形成了多哨兵模式。
当一个哨兵发现redis服务器宕机了,这个现象被称为主观下线。当一定数量的哨兵发现主redis宕机,则进行投票(由一个哨兵发起),进行failover(故障转移)操作。然后通过发布订阅模式将slave切换成master,这个过程称为客观下线。

实现

1.编写哨兵的配置文件sentinel.conf:

sentinel monitor myredis 127.0.0.1 6379 1

1代表1个哨兵sentinel同意,就可以开启failover
2。启动哨兵:

redis-sentinel sentinel.conf

3.哨兵会自行发送心跳包,就算源master修复,也只能是slave:

info replication

哨兵模式

优点

1,哨兵模式基于主从复制,所有的主从配置有点,它都有
2,主从可以切换,故障可以转移,可用性好
3,哨兵模式使主从复制从手动

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-02-26 11:37:32  更:2022-02-26 11:41:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:51:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码