本文目录一览:
- 1、Redis启用主从模式做读写分离
- 2、redis主从+哨兵
- 3、redis主从架构高可用如何实现
- 4、Redis主从复制丢失数据的情况分析
- 5、Redis早期的主从架构原理分析,早期如何实现读写分离的?
主从复制可以将主节点的数据备份到从节点 , 当主节点出现故障时,可以将从节点中的数据恢复到主节点中,从而保证数据的完整性和一致性 。
故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余 。
因而通过读写分离:写请求在可接受范围内 。再来讨论一下redis常见的应用场景,从而增加了读的性能. 不同持久化数据库:读写分离使用于大量读请求的情况,数据库会拒绝服务 。
一种是先写入mysql,然后再写入redis 。这样实现方便 , 每次只要redis不存在,就从mysql获取数据即可,缺点也明显 , 有一定的数据延迟 。数据一致性要求不高的场合可以使用这种方式 。
Redis 集群模式本身没有使用一致性 hash 算法,而是使用 slots 插槽 。
redis主从+哨兵1、首先配置Redis的主从服务器,修改redis.conf文件如下 上述内容主要是配置Redis服务器 , 从服务器比主服务器多一个slaveof的配置和密码 。配置3个哨兵 , 每个哨兵的配置都是一样的 。
2、如果发生了客观下线,那哨兵节点会选举出一个leader来进行实际的故障转移工作 。
3、Redis哨兵模式的实现原理 。关于哨兵的原理 , 关键是了解以下几个概念:定时任务:每个哨兵节点维护了3个定时任务 。
4、通过 pub/sub 机制,哨兵之间可以组成集群,同时 , 哨兵又通过 INFO 命令,获得了从库连接信息 , 也能和从库建立连接,并进行监控了 。
5、集群至少需要3主3从,且每个实例使用不同的配置文件,主从不用配置,集群会自己选 。
redis主从架构高可用如何实现1、redis高可用:如果你做主从架构部署,其实就是加上哨兵就可以了 , 就可以实现 , 任何一个实例宕机 , 自动会进行主备切换 。
2、新版本Redis使用psync命令来代替sync命令,该命令既可以实现完整全同步也可以实现部分同步 。
3、Sentinel : redis 自带的主从切换工具 , 我们通过 sentinel 实现集群高可用 。客户端( Smart Client ):客户端通过约定查找 redis 实例在 ZooKeeper 中写入的地址 。
4、保证一个服务的高可用,基本可以从 软件质量 故障预防 故障恢复三方面着手 。对于redis,软件的质量本身有很大的保障,因此对于线上大规模的redis集群运维管理,基本上可以从故障预防和故障恢复两方面着 。
5、服务层到缓存:缓存的存在,本身就是一种冗余;缓存层也可以通过集群来解决缓存层的高可用问题 。以Redis为例,支持主从同步,而且有sentinel哨兵机制,来做Redis的存活性检测 。
6、为了保证数据的高可用性,加入了主从模式,一个主节点对应一个或多个从节点,主节点提供数据存取,从节点则是从主节点拉取数据备份,当这个主节点挂掉后,就会有这个从节点选取一个来充当主节点,从而保证集群不会挂掉 。
Redis主从复制丢失数据的情况分析1、Redis 内存淘汰机制有以下几个:noeviction: 当内存不足以容纳新写入数据时 , 新写入操作会报错,这个一般没人用吧,实在是太恶心了 。
2、不过,为了避免出现客户端和所有从库都不能连接的情况,我们需要把复制进度差值的阈值设置得大一些 。可以周期性地运行这个流程来监测主从库间的不一致情况 。
3、用于初次复制或其它无法进行部分复制的情况,将主节点中的所有数据都发送给从节点 。当数据量过大的时候,会造成很大的网络开销。
4、传统的Redis集群采用的主从复制模式,一般为一主多从,主节点有读写权限,但是从节点只有读的权限 。主节点会定期将数据同步到从节点中 , 保证数据一致性的问题 。
5、应用数据已经过期,主库的惰性删除会发生作用 , 主动对该数据进行删除操作 , 保证 客户端应用不会拿到过期的数据 。如果 读取的是 Slave 库,则有可能会拿到过期数据,一般造成这样原因有两个 。
Redis早期的主从架构原理分析,早期如何实现读写分离的?读写分离: 可以用于实现读写分离,主库写、从库读,读写分离不仅可以提高服务器的负载能力,同时可根据需求的变化,改变从库的数量 。
可以通过部署2台Redis服务器,一台主,一台从 。然后写的操作在主库 , 读的操作可以在从库 。进行主从同步即可 。这样就可以,一台写,多台从,所有读的请求全部在从库那边操作 。增强Redis的并发能力 。主从配置 , 比较简单 。
架构设计 由于redis是单点,项目中需要使用,必须自己实现分布式 。基本架构图如下所示:分布式实现 通过key做一致性哈希,实现key对应redis结点的分布 。
推荐阅读
- redis hash分页 redis分页查询方案
- redis有默认过期时间吗 redis的key默认过期时间
- redis高并发数据错乱 redis高频问题
- 如何将惠普服务器电源改为外接电源? 惠普服务器电源怎么改外接
- 如果领钥匙服务器崩溃了该怎么办? 领钥匙服务器崩溃了怎么办
- mysql优化的几种方式 mysql数据优化理论
- mysql能承受多大并发量 mysql支持并发写入量
- mysql加索引会锁表吗 mysql加索引报错