当前位置:网站首页>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
边栏推荐
- Redis data types and application scenarios
- Postgresql源码(57)HOT更新为什么性能差距那么大?
- Matplotlib common settings
- Redis数据类型和应用场景
- ShanDong Multi-University Training #3
- 物联网应用技术专业是属于什么类
- 2022年R1快开门式压力容器操作考题及答案
- Daily three questions 6.30 (2)
- [MySQL] database optimization method
- Y53. Chapter III kubernetes from introduction to mastery -- ingress (26)
猜你喜欢
玻璃马赛克
[micro service sentinel] sentinel integrates openfeign
What is mosaic?
The digital summit is popular, and city chain technology has triggered a new round of business transformation
flutter Unable to load asset: assets/images/888.png
日本购物网站的网络乞丐功能
MT manager test skiing Adventure
Redis数据类型和应用场景
问题随记 —— file /usr/share/mysql/charsets/README from install of MySQL-server-5.1.73-1.glibc23.x86_64 c
Huisheng Huiying 2022 intelligent, fast and simple video editing software
随机推荐
What is the mosaic tailgate?
什么是马赛克?
MySQL -- convert rownum in Oracle to MySQL
Three development trends of enterprise application from the perspective of the third technological revolution
软件架构的本质
2022年R1快开门式压力容器操作考题及答案
神经网络物联网的发展趋势和未来方向
云信小课堂 | IM及音视频中常见的认知误区
[micro service sentinel] @sentinelresource details
[机缘参悟-35]:鬼谷子-飞箝篇-远程连接、远程控制与远程测试之术
Daily three questions 6.29
物联网现状及未来发展趋势
mt管理器测试滑雪大冒险
证券开户选哪个证券公司比较好,哪个更安全
Compare the version number [double pointer to intercept the string you want]
Notes to problems - file /usr/share/mysql/charsets/readme from install of mysql-server-5.1.73-1 glibc23.x86_ 64 c
2021 RoboCom 世界机器人开发者大赛-本科组初赛
日本购物网站的网络乞丐功能
物联网开发零基础教程
“35岁,公司老总,月薪2万送外卖“:时代抛弃你,连声再见都没有