FWQ
详解redis集群的三种方式
详解redis集群的三种方式 收藏 IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《详解redis集群的三种方式》,聊聊redis集群,我们一起来看看吧! Redis三种集群方式:主从复制,哨兵模式,Cluster集群。 主从复制 基本原理 当新建立一个从服务器时,从服务器将向主服务器发送SYNC命令,接收到SYNC命令后的主服务器会进行一次BGSAVE命令,在执行期间,会将所有命令写入缓冲区中,当BGSAVE命令执行完毕之后会将生成的RDB文件发送给从服务器,从服务器使用这个文件加载数据到内存中,之后主服务器会以Redis命令协议的格式将缓冲区的命令发送给从服务器。此后每次主服务执行命令都会同步给从服务器。即使有多个从服务器向主服务器发送SYNC命令,主服务器也只会执行一个BGSAVE命令,就可以处理接下来的同步请求。一个主服务器可以拥有多个从服务器,而从服务器也可拥有从服务器,从而形成一个图状结构,复制功能不会阻塞主服务器,即使有一个或多个同步请求,主服务器依然能处理命令请求。 持久化开关 当配置了主从复制模式时需要开启主服务器的持久化功能,如果将主服务器的持久化功能关闭,主服务器一旦重启,所有从服务器的数据将会丢失,即使配置了Sentinel模式,如果主服务器自动拉起进程比较快,以至于在Sentinel模式下还未选举出新的主服务器,主服务的启动也会造成子服务器的数据丢失。 配置 配置一个主从复制模式,只需要使用Slaveof命令即可,在conf配置文件中添加或者是在redis中执行命令。 SLAVEOF host port 哨兵模式 基本原理 Redis的Sentinel系统用于管理多个Redis,主要执行以下三件事: 监控:Sentinel会不断的检查主从服务器运行状态 提醒:当某个Redis服务器出现故障,可通过API或者其他应用程序发送通知 自动故障迁移:当一个主服务器不能正常工作时,Sentinel会进行一次故障自动迁移,会将失效主服务器的从服务器选举出一个新的主服务器,剩下的从服务器将会自动连接复制选举出来的新服务器的数据。 Redis的Sentinel系统是一个分布式的系统,可以在系统中配置一个或多个Sentinel。 启动 使用redis-sentinel启动 redis-sentinel sentinel.confy 也可以使用redis-server来启动 redis-server sentinel.conf…