背景
从性能和可用性角度考虑,在系统架构中都设置多个REDIS,常用的配置是1个Master带多个只读的Slave。或者2个Master互相作为Slave,然后各自带上若干个子节点。
在官方文档已经描述了Redis在主备复制的过程(
http://redis.io/topics/replication),包括实时数据包同步 和 文件方式同步两种方式。
但在某些应用场景下,比如物理网络通过某些隔离设备或者防火墙隔离的情况下,是不能直接采用配置的方式实现主备,而需要先写入到文本文件通过专用协议和软件传输到子节点,然后子节点从文件中恢复。
主服务器流程
最终任何改变,都是通过propagate(Redis.c:1568)实现的。