实现Redis的主从同步
-
尽管Redis服务器性能很好,但是对于一些热门网站,或者热门节日的时候,就会有成千上万的用户同时进入主页,与此同时也会伴随着大量的读操作到达Redis服务器,触发一系列操作,每当这个时候,单单靠一台Redis服务器,显示是满足不了需求的。
所以Redis的主从同步,便为了解决这个问题,并且能够分担读的压力。
主从同步指的是,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master主攻写,Slave主攻读。并且数据的复制是单向的,只能由主服务器到从服务器。
Redis 的同步分为两种,一种是全量同步和另一种是增量同步。
全量同步的流程是Slave 发送 sync 命令到 Master,当Master 启动一个后台进程,将当前 Redis 中的数据快照保存到文件中。Master 将保存数据快照期间的写入指令缓存起来,并且在Master 完成数据写入操作之后,会将快照文件发送到 Slave。
Slave 接收到文件之后使用新的文件替换旧的 RBD 文件,Master 将这期间缓存的增量写入指令发送到 Slave 端,Slave 收到增量指令集合之后进行指令回放,从而完成本次全量同步。
增量同步的过程是:当Master 接收到用户的指令操作,判断是否需要传播到 Slave,并且将操作记录追加到 AOF 文件,之后将操作传播到其他 Slave ,先对齐主从库,然后往响应缓存中写入指令,最后将缓存中的数据发送到 Slave。
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏