1、Sentinel 哨兵    Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。    例如:         在Server1 掉线后:    升级Serve            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-26 13:50:45
                            
                                76阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            redis-sentinel 主从复制高可用  Redis-Sentinel是redis官方推荐的高可用性解决方案,
当用redis作master-slave的高可用时,如果master本身宕机,redis本身或者客户端都没有实现主从切换的功能。
而redis-sentinel就是一个独立运行的进程,用于监控多个master-slave集群,
自动发现master宕机,进行自动切换slave &            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-25 11:55:10
                            
                                63阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.概述redis中存在一个高可用结构的重要进程,sentinel哨兵,可以实现监听主从、控制主从,完成主从复制基础之上的故障替换转移,主节点宕机,从节点顶替。哨兵也是redis-server进程,比较特殊,不处理数据增删查改,只负责监听主从。2.运行原理2.1结构在主从结构之上,需要引入哨兵行程集群(下面的结构为一主二从三哨兵)哨兵执行逻辑 : 1.哨兵启动会连接主节点  2.调用in            
                
         
            
            
            
            本博文主要总结关于哨兵的一些理论知识,主要关注点有一下几个方面:一、哨兵解决了什么问题?二、哨兵是如何解决“问题一”的?三、如何使用哨兵?四、Redis Sentinel客户端实现的原理是什么?Java如何操作Redis Sentinel? 一、哨兵解决了什么问题?这个问题要从Redis主从模式说起。Redis的主从模式可以将主节点的数据改变同步给从节点,从节点就可以起到两个作用:(1)            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-25 17:50:03
                            
                                47阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ## Redis 哨兵的选举与 Raft 协议
在建构分布式系统时,保证高可用性是至关重要的。Redis 哨兵(Sentinel)和 Raft 协议都是实现这一目标的有效方法。本文将为你详细介绍如何实现 Redis 哨兵的选举和 Raft 协议的基本概念及步骤。
### 流程概述
下面是 Redis 哨兵和 Raft 流程的简要步骤:
| 步骤      | 描述            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-09-18 07:16:23
                            
                                164阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            分布式系统的一致性和性能常常是鱼和熊掌不可兼得。追求高的一致性,必然会带来性能的损失,而想要追求高的性能,也只能妥协于一定程度的非一致性。以下图中的数据写入为例,不同的一致性级别要求写入的节点个数是不同的, 写入节点个数越多,显然客户端需要等待的时间就会越久。一致性差异:Raft中采用的是QUORUM, 即确保至少大部分节点(n/2+1)都接收到写操作之后才会返回结果给Client, 而Redis            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-14 22:23:53
                            
                                126阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            上篇重点持久化 持久化机制 rdb(记录快照)配置多少秒中多少key被修改,aof(记录操作命令) 子进程fork会快照,不会阻塞,所以rdb快哨兵模式,监控,自动选取主节点 哨兵发送命令,等待redis响应,监控多个redis 哨兵投票(算法),进行故障转移,切换成功后,发布订阅配置哨兵配置文件 sentinel monitor myredis 127.0.0.1 6379 1 1代表主机宕机开            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-12 12:13:01
                            
                                115阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Raft协议–概述–011、Raft 算法概述是分布式系统开发首选的共识算法Raft算法是经过一切以领导者为准的方式,实现一系列值的共识和各节点日志的一致。用于管理日志一致性的协议。将分布式一致性分解为多个子问题: 
  Leader选举(Leader election)日志复制(Log replication)安全性(Safety)日志压缩(Log compaction)2、基本术语解释大多数:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-30 09:54:35
                            
                                218阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录1. 简单介绍2.前置知识①节点状态②心跳与选举超时时间③任期term count④主要解决问题3.原理领袖选举 Leader Election①发生时机②原理记录复写 Log Replication①为什么是集群?②流程③特殊情况④对于Append Entries Mssage理解raft保证的安全性 Safety追随者死机领袖死机超时期限和可用性 1. 简单介绍raft是paxos算            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-20 20:09:00
                            
                                139阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            从哨兵Leader选举学习Raft协议实现(上)在上篇文章当中,我们了解了哨兵实例的初始化过程。哨兵实例一旦运行后,会周期性地检查它所监测的主节点的运行状态。当发现主节点出现客观下线时,哨兵实例就要开始执行故障切换流程了。不过,我们在部署哨兵实例时,通常会部署多个哨兵来进行共同决策,这样就避免了单个哨兵对主节点状态的误判。但是这同时也给我们带来了一个问题,即当有多个哨兵判断出主节点故障后,究竟由谁            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-14 20:30:41
                            
                                136阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Redis 的集群主从模型是一种高可用的集群架构。本章主要内容有: 高可用集群的搭建, redis-cli连接集群, 新增集群节点, 删除集群节点, 其他配置补充说明。高可用集群搭建集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。集群简介Redis 集群是一个可以在多个 Redi            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-16 15:12:41
                            
                                54阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            引入  在主从模型中讲到一旦Master宕机失效,需要手动将Slave角色提升为Master,否则这个子集群将不可用。  这个缺陷使得系统可用性大大降低。因此Redis专门提供了一个哨兵机制来实现自动故障检测和转移。什么是哨兵  哨兵(Sentinel)是一种特殊的Redis实例,与Redis存储实例一样,哨兵同样是基于配置的。   你可以通过以下两种方式启动哨兵:redis-sentinel /            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-08 22:50:14
                            
                                101阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             Raft是一个分布式的一致性协议算法,放弃了CAP的可用性,保证严格的一致性 sentinel使⽤的就是raft协议,raft在redis内并没有⽤来实现⼀些分布式锁以及分布式事务,仅仅是⽤来做master宕机时的选主、 腾讯云 CMQ、注册中心consul、go语言的etcd、等实际场景应用一、角色状态leader 领导者:接受客户端请求,并向Follower同步请求日志candid            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-17 01:39:53
                            
                                211阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Paxos是最早的分布式一致性算法,虽然出来了很多年,但因其不容易理解,且实现难度较大,目前比较成熟的Multi-Paxos实现依然比较少。Raft算法是近几年很火的一个分布式一致性算法,旨在提供分布式一致性的前提下,提高算法的可读性,降低实现的难度。它提供了和Paxos算法相同的功能和性能,但是它的算法结构和 Paxos不同,使得 Raft算法更加容易理解并且更容易构建实际的系统。为了提升可理解            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-24 05:47:13
                            
                                14阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            分布式系统中,如何保证多个节点的状态一致?Raft 一致性算法与 Paxos 不同,号称简单易学,且已经广泛应用在生产中。例如 k8s 和 CoreOS 中使用的 etcd;tikv 中使用 Raft 完成分布式同步;Redis Cluster 中使用类似 Raft 的选主机制等等。今天我们来一探究竟吧。复制状态机/Replicated state machines复制状态机的想法是将服务器看成一            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-19 21:33:13
                            
                                86阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            摘要Raft是用于管理被复制的日志的共识算法。它与multi-Paxos算法产生的效果相同,并且和Paxos算法一样高效。但是结构与Paxos不同。这使得Raft算法比Paxos算法更容易理解。也为构建实际系统提供了更好的基础。为了加强理解,Raft将几个关键元素分离,比如leader选举,日志复制,安全性。并增强了一致性,以减少必须考虑的状态数。一项用户研究的结果表明,与Paxos相比,Raft            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-19 21:50:42
                            
                                69阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一 前言分布式系统中,一致性指的是数据在多个副本之间是否能够保持一致性的特性。当一个系统数据在一致性的状态下进行更新后,应该保证系统的数据仍然处于一致性。如何来保证分布式系统中数据的一致性呢?这需要一致性协议来保证。二 Raft协议简介Raft协议:是Replication And Fault Tolerant的缩写,即复制和容错协议,是一种强一致性协议,在RAFT中,有三种类型的节点:# Lea            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-16 17:19:17
                            
                                287阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Redis Raft 选举
在分布式系统中,选举是一个非常重要的过程,它用于确定系统中谁将拥有领导权。在Redis中,使用Raft协议来进行选举,确保系统的高可用性和一致性。
## 什么是Raft协议?
Raft是一种用于分布式一致性的协议,它由Diego Ongaro和John Ousterhout在2014年提出。Raft协议将系统中的节点分为Leader、Follower和Cand            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-11 04:27:25
                            
                                53阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Redis Raft 部署介绍
## 1. 什么是 Redis Raft?
Redis Raft 是 Redis 的一个分布式一致性复制协议,它基于 Raft 算法,用于实现 Redis 的高可用性和数据持久性。Raft 是一种强一致性分布式一致性算法,能够在分布式环境下保证数据的一致性和可用性。
## 2. Redis Raft 部署步骤
为了部署 Redis Raft,我们需要进行            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-08-21 05:16:31
                            
                                173阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Raft通过心跳机制触发Leader Election。所有Server的初始状态(State)为Follower,只要一直能收到来自Leader或Candidate有效的RPC,就一直保持Follower的角色。其状态转换过程如图所示:正常情况当Leader还健在时: Leader会周期性给所有follower发送心跳(heartbeat)告诉大家自己还健在,大家听我的就好。触发选举当Leade            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-25 17:07:57
                            
                                47阅读
                            
                                                                             
                 
                
                                
                    