论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
数据库
›
Nosql
›
Redis复制
Redis复制
愛在花開的季節
金牌会员
|
2024-2-11 02:00:49
|
显示全部楼层
|
阅读模式
楼主
主题
879
|
帖子
879
|
积分
2637
是什么
主从复制,master以写为主,slave以读为主。
当master数据变化的时候,自动将新的数据异步同步到其他slave数据库
能干嘛
读写分离
容灾恢复
数据备份
水平扩容支撑高并发
怎么玩
master如果配置了requirepass参数,需要密码登录,那么slave就要配置masterauth来设置校验密码,否则master会拒绝slave的访问请求
后台启动:默认daemonize no 改为 daemonize yes
关闭保护模式:默认protected-mode yes 改为 protected-mode no
注释掉bind 127.0.0.1 直接注释掉这行(默认bind 127.0.0.1只能本机访问)或改成本机IP地址,否则影响远程IP连接
指定端口
指定当前工作目录
pid文件名字
log文件名字
requirepass
dump.rdb名字
aof文件
从机增加的配置
三种模式
一主二仆
方案一:配置文件固定写死
配置文件文件执行 replicaof 主库IP 主库端口
配从(库)不配主(库)
先master后两台slave依次启动
主从关系查看
日志
主机日志
从机日志
命令
info replication 命令查看
主从问题演示:
从机可以执行写命令吗?
slave是从头开始复制还是从切入点开始复制?
从头开始一锅端!(首次一锅端,后续跟随,master写,slave跟)
主机shutdown后,从机 会上位吗?
从机不动,原地待命,从机数据可以正常使用;等待主机重启动归来
主机shutdown重启后主从关系还在吗?从机还能否顺利复制?
在,可以!
某台从机down后,master继续,该从机重启后还能跟上大部队吗?
可以!
方案二:命令操作手动指定
slaveof 主库IP 主库端口
从机停机去掉配置文件中的配置项,3台目前都是主机(master)状态,各不从属
从机上执行命令 slaveof 主库IP 主库端口
用命令设置的主从关系,2台从机重启后,关系还在吗?
不在了!
配置 VS 命令
配置,持久稳定
命令,当次生效
薪火相传
上一个slave可以是下一个slave的master,slave同样可以接收其他slave的连接和同步请求,那么该slave作为了链条中下一个的master,可以有效减轻注master的写压力。
中途变更主机会清除之前的数据,重新建立拷贝最新的主机数据。
反客为主
SLAVEOF no one
使当前数据库停止与其他数据库的同步,转成主数据库
复制原理&工作流程
slave启动,同步出请:
slave启动成功连接到master会发送一个sync的命令
slave首次全新连接master,一次完全同步(全量复制)将被自动执行,slave自身原有数据会被master
覆盖清除
。
首次连接,全量复制:
master节点收到sync命令后会开始在后台保存快照(即RDB持久化,主从复制时会触发RDB),同时收集所有接收到的用于修改数据集的命令缓存起来,master节点执行RDB持久化完成后,master将所有rdb快照文件和所有缓存的命令发送到所有slave,以完成一次完全同步。
而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中,从而完成复制初始化。
心跳持续,保持通信:
repl-ping-replica-period 10:master发出PING包的周期,默认是10秒
进入平稳,增量复制:
master继续讲新的所有收集到的修改命令自动依次传给slave,完成同步。
从机下线,重连续传:
master会检查backlog里面的offset,master和slave都会保存一个复制的offset还有一个masterId,offset是保存在backlog中的。master只会把已经复制的offset后面的数据复制给slave,
类似断点续传
。
缺点
复制延时,信号衰减
由于所有的写操作都是先在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使这个问题更加严重。
master挂了,不会在slave节点中自动重选一个master
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
愛在花開的季節
金牌会员
这个人很懒什么都没写!
楼主热帖
HA启动Advanced SSH & Web Terminal 提 ...
流批一体开源项目ChunJun技术公开课— ...
Redis 原理 - Hash
一次服务器被入侵的处理过程分享 ...
SpringBoot
【网络进阶】网络问题排查实例集锦(实 ...
Redis持久化
dotnet C# 使用 Vortice 支持 Direct2D ...
Flink 作业提交流程
keepalived安装配置
标签云
挺好的
服务器
快速回复
返回顶部
返回列表