当前位置:网站首页>Redis 主从同步
Redis 主从同步
2022-07-01 22:58:00 【Mar丶流年】
概念
runID 每一个redis实例的唯一标识,不知道对方runID 则以?代替
offset 复制进度 -1 代表第一次复制
第一次主从同步
由从实例发送 pysnc 告知主实例第一次连接
主实例将offset,和runID发送给从库
主实例再通过bgsave生成全量RDB,生成RDB期间及之后的操作命令写入到repl buffer
将RDB发送给从实例
从实例执行完RDB后,主实例再将repl buffer发送给从实例
主从网络闪断的恢复过程(增量复制)
主实例和从实例上都有一个环形缓冲区(repl_back_log)
主实例中的repl_back_log记录自己写到那里
从实例中的repl_back_log记录自己读到那里
主实例每执行一条命令会往repl_buffer,repl_back_log中写入记录
当主从恢复连接后。从实例将自己的已经读取的位置(slave_repl_offset)发送给主实例
主实例根据自己写到的位置(master_repl_offset),找到从实例缺失的数据(master_repl_offset - slave_repl_offset 区间段的数据) 发送给从实例同步
主从级联
在一主多从的模式下,如果数据同步都由主实例去同步,主实例承担比较大的压力
这时候可以将部分的同步任务交给先同步的实例去同步给未同步的实例。
将主实例比喻成老板,从实例比喻成员工,老板给员工分配任务要一个一个分配
但是如果将员工提拔为(总经理,总裁),那么老板把任务分配给它两,它两再分配给员工,这样就减轻了老板的压力
注意事项
由于 repl_back_log 是环形缓冲区
环形缓冲写完一个周期就会开始覆盖数据
如果主实例的写入速度大于从实例的读取速度,可能造成从实例还未读取的数据被主实例新写的操作覆盖了
所以合理设置环形缓冲区的大小很重要(repl_backlog_size)
查了下资料,一般设置成 (主实例写入命令速度 * 操作大小 - 主从网络传输命令速度 * 操作大小) * 2
边栏推荐
- 【小程序】通过scroll-view组件实现左右【滑动】列表
- 众昂矿业:发展以氟化工为主的特色化工产业具有先天优势
- dat.GUI
- mysql binlog的清理
- Some thoughts on game performance optimization
- What is mosaic?
- Win 10 mstsc connect RemoteApp
- 【微服务|Sentinel】@SentinelResource详解
- Development trend and future direction of neural network Internet of things
- plain framework的实际应用和扩展
猜你喜欢

What is mosaic?

Development trend and future direction of neural network Internet of things

2022 safety officer-c certificate examination question simulation examination question bank and simulation examination
![Jielizhi, production line assembly link [chapter]](/img/5f/9ea7fd3b93df1fd3ecbfc1b669c831.png)
Jielizhi, production line assembly link [chapter]

Future trend and development of neural network Internet of things

Commemorate becoming the first dayus200 tripartite demo contributor

"35 years old, the boss of the company, with a monthly salary of 20000, give away takeout": the times abandoned you, not even saying goodbye

Matplotlib常用設置

软件架构的本质

Zero foundation tutorial of Internet of things development
随机推荐
微服务服务稳定性治理
flutter Unable to load asset: assets/images/888. png
Which securities company is better and which is safer to open a securities account
什么是马赛克?
2021 RoboCom 世界机器人开发者大赛-高职组复赛
Istio, ebpf and rsocket Broker: in depth study of service grid
js——arguments的使用
mysql ---- Oracle中的rownum转换成MySQL
实在RPA:银行数字化,业务流程自动化“一小步”,贷款审核效率“一大步”
为什么PHP叫超文本预处理器
建模和影视后期有什么关联?
What is the mosaic tailgate?
win 10 mstsc连接 RemoteApp
plain framework的实际应用和扩展
Matplotlib常用设置
Timer和ScheduledThreadPoolExecutor的区别
mysql binlog的清理
The online beggar function of Japanese shopping websites
从第三次技术革命看企业应用三大开发趋势
Experience of practical learning of Silicon Valley products



