- 博客(4)
- 资源 (25)
- 收藏
- 关注
原创 Redis主从+Sentinal(哨兵)数据丢失问题分析
在使用Redis主从架构作为系统缓存服务,配合上Sentinal(哨兵)组件的监控、故障转移等特性,基本上来说就能够大部分缓存系统的需求。那么在这样一套架构中,在主从切换,数据复制过程中,会不会出现数据丢失?什么情况下数据会丢失?如何尽量减少数据丢失?这是本文需要跟大家一起学习的内容。从哲学的角度看,只要绝对都是伪命题,使用Redis主从架构+Sentinal(哨兵)组件,绝对不能够完全保证数据不丢失,那么在那种情况下会出现数据丢失呢?数据丢失场景分析-异步复制我们都知道,Redis主从架构中,客户端
2020-11-20 21:42:02 1671
原创 Redis主从复制原理剖析
生产环境中,为保证Redis缓存系统的高可用性,对于Redis集群,一般都会采用主从架构来实现读写分离。那么主从架构下,主节点和从节点间,数据是如何进行复制和同步,中间是一个什么样的流程,通过本文,想跟众博友和同行一起讨论。首先看一个图。上图展示了Slave节点第一次连接主节点和短暂断开后再次连接主节点的情况下,数据复制的流程。当从节点启动后,会根据自身配置文件中slave of配置的内容,得到主节点的IP和端口。从节点向主节点发送一个psync命令(如果主节点设置了秘钥等安全信息,则需带上主
2020-11-19 22:36:15 295
原创 深入剖析Redis高可用之Sentinal(哨兵)原理
生产环境中,对于任何的软件系统或者其组件,都需要保证其高可用性。引入Redis做缓存系统,首先通过主从架构,可以解决系统的并发瓶颈。一般情况下,在任何一哥Redis集群中,最最经典的用法都是一主多从的架构,主节点负责接收写请求,从节点接收读请求,即缓存的读写分离架构。但从上图的架构上看,是不能保证其高可用的,因为虽然从节点有多个,但是主节点只有一个,一旦主节点宕机,整个集群基本就丧失了接收新的写请求的能力,进而这个集群就瘫痪了。那么既然是高可用,就需要一种机制,能够在主节点宕机之后,能够从从节点中选
2020-11-17 23:58:32 442
原创 深入剖析Redis持久化机制
Redis持久化的意义Redis持久化的意义,主要体现在灾难恢复方面,即在Redis突然宕机重启后,能够快速恢复数据并对外提供服务。在学习Redis的时候,大家都知道是用来作为缓存,而缓存,普遍思维都是认为,用来存储经常读取但是变化频次比较低的数据,这类数据通常不会很多,比如一些数据字典等,即使Redis服务宕机,大概率情况下不需要从持久化文件恢复。而一般的处理思维是,服务读取数据时,如果未在缓存中命中,那么直接读数据库(如MySQL),读到数据后返回给客户的同时,在Redis重新存储一份。下次读取时就
2020-11-15 00:29:26 257 2
gpg4win-3.1.7
2019-04-09
Spring Cloud 中文参考手册
2017-08-21
Spring Cloud 参考手册英文版
2017-08-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人