为什么有本地缓存了还要用redis 本地缓存 redis |
您所在的位置:网站首页 › mybatis有缓存为什么还要用redis › 为什么有本地缓存了还要用redis 本地缓存 redis |
目录 1、真实企业配置 2、什么是主从复制 2.1、Redis为什么需要主从复制? 2.2、主从复制的好处 2.3、主从复制的缺点 3、主从复制几种方式及流程 3.1、全量复制的流程 3.2、增量复制流程 3.3、断点续传流程 3.4、无磁盘化复制流程 4、主从复制会出现的问题及解决方案 4.1、怎么减少save基于旧的数据版本对外提供服务 下一篇:redis哨兵模式 1、真实企业配置常见的做法是将Redis集群与主从复制结合使用,同时使用哨兵模式(监控和故障转移),这种组合可以实现数据分片、数据复制、读写分离以及自动故障转移的功能。 (1)小规模应用。 不使用集群、主从、哨兵:使用单个Redis实例,不进行分片和复制。 (2)中等规模应用 使用主从+哨兵:使用Redis主从复制来实现数据的复制和读写分离,一主多从,同时使用Redis哨兵监控主从复制架构中的节点,并实现自动故障转移。 (3)大规模应用 使用集群+主从+哨兵: --使用Redis集群来实现数据的分片和自动故障转移。将数据分布到多个节点上,可以提高存储容量和吞吐量; --使用Redis主从复制来实现数据的复制和读写分离; --使用Redis哨兵监控集群中的节点,并实现自动故障转移。 总结:从上面配置可以知道,主从模式---数据的复制和读写分离、哨兵模式--自动故障转移、集群模式--数据的分片、自动故障转移,提高存储和吞吐量。 2、什么是主从复制实现数据的复制和读写分离。配置一主(master)多从(slave),主节点负责接收写操作,并将写操作的日志(AOF或RDB文件)发送给从节点,并将数据复制到从节点上;从节点通过执行这些日志来复制主节点的数据,从节点处理读操作。 当主从服务器刚建立连接的时候,进行全量同步;全量复制结束后,进行增量复制。 2.1、Redis为什么需要主从复制?单台Redis节点存在以下的局限性: 单节点的Redis能够支撑QPS大概在5w左右,千万级并发会成为了高并发的瓶颈;单节点的Redis不能保证高可用;CPU的利用率上,单台Redis实例只能利用单个核心。2.2、主从复制的好处数据冗余:主从复制实现了数据的热备份;故障恢复:如果master宕掉了,使用哨兵模式,提升一个 slave 作为新的 master,实现故障转移、高可用;负载均衡:可以轻易地实现横向扩展,实现读写分离,一个 master 用于写,多个 slave 用于分摊读的压力,从而实现高并发。2.3、主从复制的缺点所有的写操作都是先在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave服务器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使这个问题更加严重。 怎么解决? 增加Master服务器的硬件资源;增加Slave服务器数量,可以将负载分散到多个Slave上,减少单个Slave的压力,从而减少延迟3、主从复制几种方式及流程3.1、全量复制的流程Redis全量复制一般发生在Slave初始化阶段,这时Slave需要将Master上的所有数据都复制一份。 save服务器连接到master服务器,便开始进行数据同步,发送psync命令;master服务器收到psync命令之后,开始执行bgsave命令生成RDB快照文件并使用缓存区记录此后执行的所有写命令;master服务器bgsave执行完之后,就会向所有Slava服务器发送快照文件,并在发送期间继续在缓冲区内记录被执行的写命令;slave服务器收到RDB快照文件后,会将接收到的数据写入磁盘,然后清空所有旧数据,在从本地磁盘载入收到的快照到内存中,同时基于旧的数据版本对外提供服务;master服务器发送完RDB快照文件之后,便开始向slave服务器发送缓冲区中的写命令;slave服务器完成对RDB快照的载入,开始接收命令请求,并执行来自主服务器缓冲区写命令如果slave node开启了AOF,那么会立即写AOF。3.2、增量复制流程在初始化的全量复制并开始正常工作之后,master服务器将发生的写操作同步到slave服务器过程 3.3、断点续传流程slave与master能够在网络连接断开重连后,只从中断处继续进行复制,而不必重新同步 3.4、无磁盘化复制流程由master直接开启一个socket,在内存中创建RDB文件,再将rdb文件发送给slave服务器,不使用磁盘作为中间存储。 repl-diskless-sync :是否开启无磁盘复制4、主从复制会出现的问题及解决方案4.1、怎么减少save基于旧的数据版本对外提供服务只能减少不能避免,需要结合监控和故障回复机制。 使用非阻塞模式(异步模式);slave服务器的配置文件中设置`repl-diskless-sync`参数为`yes`,表示Slave服务器在初始同步时不会将数据写入磁盘,而是直接从Master服务器内存中读取数据。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |