【Redis】主从模式,哨兵,集群

Redis 群集详解 一,Redis群集概念 虽然Redis可以实现单机的数据持久化,但无论是RDB也好或者AOF也好,都解决不了单点宕机问题,即一旦单台 redis服务器本身出现系统故障、硬件故障等问题后,就会直接造成数据的丢失,此外单机的性能也是有极限的,因此需要使用另外的技术来解决单点故障和性能扩展的问题 主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷:故障恢复无法自动化;写操作无法负载均.. 阅读详情
AI摘要

本文详细介绍了Redis的三种高可用架构模式:主从复制、哨兵模式和集群。主从复制通过数据同步提高读操作的并发性和可用性,但存在单点故障问题。哨兵模式通过监控和故障转移机制,确保主节点故障时自动选举新的主节点,维持系统的高可用性。集群模式通过数据分片算法将数据分散存储在多个主节点上,解决了单主节点的性能瓶颈,适用于处理大量数据和高并发写入的场景。

主从复制

单点问题:

在分布式系统中,如果某个服务器程序,只有一个节点(也就是一个物理服务器)来部署这个服务器程序的话,那么可能会出现以下问题:

1.可用性问题:如果这个机器挂了,那么意味着怎么服务器也就挂了

2.性能/支持的并发量也是有限的

在分布式系统中,往往会希望多个服务器来部署Redis服务,从而构造一个Redis集群;此时就可以让这个集群给整个分布式提供更加高效/稳定的数据存储服务等;

在分布式系统中,有多个服务器部署Redis,往往有以下几种方式:

1.主从模式

2.主从+哨兵

3.集群


配置主从模式:

在若干个Redis节点中,有“主”节点,也有“从”节点 

例如:

从节点必须听主节点,从节点内的数据跟主节点保存同步(从节点就是主节点的副本)~

在原本,只有一个主节点保持大量的数据,引入从节点,可以将主节点上的数据复制出来放到从节点中,后续主节点有任何修改也会同步到从节点上~

主从模式主要是针对“读操作”进行并发了和可用性的提高 
而“写操作”只能依赖主节点,主节点只能有一个
在实际业务中,“读操作”往往比“写操作”更加频繁

如果挂了从节点的话,影响并不会很多啊,可以从其他从节点读取数据,效果是一样的;
但如果挂了主节点的话,那么只能读数据,不能写数据了,还有有一定的影响~

因为目前只有一台云服务器,所有需要启动多个Redis服务器进程,配置一个主节点,俩个从节点
主节点默认端口为6379,从节点默认端口分别为6380,6381

1.给从节点设置配置文件

root@iZbp1j57qexhmdoyijkse9Z:/etc/redis# mkdir redis-conf
root@iZbp1j57qexhmdoyijkse9Z:/etc/redis# cd redis-conf/
root@iZbp1j57qexhmdoyijkse9Z:/etc/redis/redis-conf# pwd
/etc/redis/redis-conf
root@iZbp1j57qexhmdoyijkse9Z:/etc/redis/redis-conf# cp /etc/redis/redis.conf ./slave1.conf
root@iZbp1j57qexhmdoyijkse9Z:/etc/redis/redis-conf# cp /etc/redis/redis.conf ./slave2.conf
root@iZbp1j57qexhmdoyijkse9Z:/etc/redis/redis-conf# ls
slave1.conf  slave2.conf

在它们的配置文件中修改: 

修改端口号

 

修改其 daemonize 为 yes。


删除它们的进程 重新启动 

 此时用命令 info replication 可以查看它们当前的属性

127.0.0.1:6379> set key 111
OK
127.0.0.1:6379> get key
"111"
127.0.0.1:6379> 
root@iZbp1j57qexhmdoyijkse9Z:/etc/redis/redis-conf# redis-cli -p 6380
127.0.0.1:6380> get key
"111"
127.0.0.1:6380> set key 222
(error) READONLY You can't write against a read only replica.

此时主节点插入了数据 从节点也可以查询到,但是从节点不能插入数据 

此时我们的结构已经搭建完成

拓扑结构: 

若干个节点之间,按照怎么样的方式来进行组织连接:一主一从、一主多从、树状主从结构。

一主一从 

这是最简单的结构,用于主节点出现宕机时从节点提供故障转移支持;

如果写数据请求太多的话,会给主节点带来一定的压力;

那么可以关闭主节点的AOF机制,只保留从节点上的AOF,这样既可以保证数据的安全性,也可以避免持久化对主节点的性能影响;

但如果主节点挂了的话,此时没有AOF文件,那么将会丢失数据,进一步进行主从同步,从节点的数据也被删除了~
改进方法:当主节点挂了话,主节点从从节点上获取AOF文件数据

 一主多从

在数据量较大的场景下,可以把读命令负载均衡到不同的从节点上分担压力;

同时一些耗时的读命令可以指定⼀台专门的从节点执行,避免破坏整体的稳定性。
但是随之从节点的增加,同步每一条数据,就需要传输多次,导致主节点的负载

树形结构:

 树据写入节点 A 之后会同步给 B 和 C 节点,B 节点进一步把数据同步给 D 和 E 节点。当主节点需要挂载等多个从节点时为了避免对主节点的性能干扰,但同步的延时是比刚才长的

原理:

主从节点建立复制流程图:

1.先保存主节点的ip和端口变量等信息

2、建立TCP的网络连接,三次握手,为了验证通信双方是否能够正确的读写数据

3.验证主节点是否能够正常的工作 从节点发送ping命令 主节点返回pong

4.如果主节点设置了 requirepass 参数,则需要密码验证

数据同步:

Redis提供了psync命名完成主从数据的同步

PSYNC 的语法格式     PSYNC replicationid offset

理解下面过程,先了解一下前提概念:

 1.replicationid/replid (复制id)

主节点的复制id,主节点重新启动,或者从从节点晋升到主节点的时候,也会生成这个id(即便是同一个主节点,在它重启的时候,生成的id都是不同的)

主节点和从节点建立复制关系的时候,就会从主节点这边获取replicationId

2.offset(偏移量)

这个是主节点和从节点上都会维护的一个参数-------偏移量(整数)

主节点上会收到很多的修改操作的命令,每个命令会占据几个字节,煮鸡蛋会把这些修改命令的字节数都累加起来~

从节点的偏移量就描述了此时从节点这边的数据同步到哪一步~

如果从节点和主节点上的偏移量一致,说明已经同步了~

replid + offset 共同标识了一个 "数据集".

如果两个节点, 他们的 replid 和 offset 都相同, 则这两个节点上持有的数据, 就一定相同.

在 info replication 命令中可以查看到:

psync过程:

1)从节点发送 psync 命令给主节点,replid 和 offset 的默认值分别是 ? 和 -1.   
2)主节点根据 psync 参数和自身数据情况决定响应结果: 

  •  如果回复 +FULLRESYNC replid offset,则从节点需要进行全量复制流程。 
  •  如果回复 +CONTINEU,从节点进行部分复制流程。 
  •  如果回复 -ERR,说明 Redis 主节点版本过低,不支持 psync 命令。从节点可以使用 sync 命令进行全量复制

同步过程分为:全量复制和部分复制。 

  • 全量复制:一般用于初次复制场景,Redis 早期支持的复制功能只有全量复制,它会把主节点全部数据一次性发送给从节点,当数据量较大时,会对主从节点和网络造成很大的开销。
  • 部分复制:用于处理在主从复制中因网络闪断等原因造成的数据丢失场景,当从节点再次连上主节点后,如果条件允许,主节点会补发数据给从节点。因为补发的数据远小于全量数据,可以有效避免全量复制的过高开销。

主要就是看offset这里的进度~
如果offset写作-1,就是获取全量数据;
如果写作具体的整数,那么就是从当前偏移量位置获取数据;

全量复制:

当首次主节点进行数据同步的时候或者主节点不方便部分复制的时候;

全量复制流程:

1)从节点发送 psync 命令给主节点进行数据同步,由于是第一次进行复制,从节点没有主节点的运行 ID 和复制偏移量,所以发送 psync ? -1。 
2)主节点根据命令,解析出要进行全量复制,回复 +FULLRESYNC 响应。 
3)从节点接收主节点的运行信息进行保存。 
4)主节点执行 bgsave 进行 RDB 文件的持久化。 
5)主节点发送 RDB 文件给从节点,从节点保存 RDB 数据到本地硬盘。 
6)主节点将从生成 RDB 到接收完成期间执行的写命令,写入缓冲区中,等从节点保存完 RDB ⽂件后,主节点再将缓冲区内的数据补发给从节点,补发的数据仍然按照 rdb 的⼆进制格式追加写入到收到的 rdb 文件中. 保持主从一致性。 
7)从节点清空自身原有旧数据。 
8)从节点加载 RDB 文件得到与主节点一致的数据。 
9)如果从节点加载 RDB 完成之后,并且开启了 AOF 持久化功能,它会进行 bgrewrite 操作,得到最近的 AOF 文件。

部分复制:

从节点要从主节点这里进行全量复制,全量复制开销很大,有些时候,从节点本身就已经持有主节点大部分数据,所有不需要全量复制;或者出现网络波动的情况,主节点修改的数据无法同步过来,等到网络波动结束,主节点和从节点重新建立连接,那么就需要同步数据~

流程:

 
1)当主从节点之间出现网络中断时,如果超过 repl-timeout 时间,主节点会认为从节点故障并终端复制连接。
2)主从连接中断期间主节点依然响应命令,但这些复制命令都因网络中断无法及时发送给从节点,所以暂时将这些命令滞留在复制积压缓冲区中。
3)当主从节点网络恢复后,从节点再次连上主节点。 
4)从节点将之前保存的 replicationId 和 复制偏移量作为 psync 的参数发送给主节点,请求进行部分复制。
5)主节点接到 psync 请求后,进行必要的验证。随后根据 offset 去复制积压缓冲区查找合适的数据,并响应 +CONTINUE 给从节点。 
6)主节点将需要从节点同步的数据发送给从节点,最终完成一致性。


实时复制:

主从节点建立连接之后,主节点会把自己之后收到的修改操作,通过tcp长连接的方式,源源不断的传输给主节点,从节点会根据这些请求同时修改自身的数据,保存主从数据一致性~

这样的长连接,会通过心跳包的方式维护连接状态;

心跳包机制:
主节点:默认每隔10s给从节点发送ping命令,从节点收到返回pong

从节点:默认每隔1s给主节点发送一个特定的请求,就会上报此时从节点复制数据的进度(offset)

如果主节点发现从节点通信延迟超过 repl-timeout 配置的值(默认 60 秒),则判定从节点下线,断开复制客户端连接。从节点恢复连接后,心跳机制继续进行。


哨兵(Sentinel)

在主从模式中,一旦主节点挂了,那么就只剩下从节点了;虽然能够提供读操作,但是不能写入数据,从节点不能自动的升级为主节点,不能替原来主节点对应的角色;通过人工的方式太不靠谱了(人不能一天24个小时盯着机器看),所有此时Redis提供了“哨兵”机制就是为了解决这一问题,让程序保存“高可用”状态~

当主节点出现故障时,Redis Sentinel 能自动完成故障发现和故障转移,并通知应用方,从而实现真正的高可用。
 

哨兵架构:

每一个哨兵节点都是单独的进程,并且会提供奇数个

Redis哨兵的核心功能就是

这些哨兵会对现有的主从节点建立长连接,定期发送心跳包,借助上述的机制,就可以及时发现某个主机挂了;

如果从节点挂了,那么其实没有关系;

如果主节点挂了,那么哨兵就要发挥它们的作用;

此时一个哨兵发现挂了还不够,需要多个哨兵节点来共同认同这件事,为了防止误判的情况;如果发现主节点确实挂了,那么哨兵们就会在这些从节点中推荐一个新的主节点;挑选出新的主节点之后,哨兵节点就会控制这个新的主节点,执行让其他的从节点转移到新的主节点上面;最后哨兵会通知客户端程序,告知新的主节点是哪个,让后续客户端再进行写操作针对新的主节点进行操作~~~

 通过上面的介绍,可以看出 Redis Sentinel 具有以下几个功能: 

  • 监控: Sentinel 节点会定期检测 Redis 数据节点、其余哨兵节点是否可达。 
  • 故障转移: 实现从节点晋升(promotion)为主节点并维护后续正确的主从关系。 
  •  通知: Sentinel 节点会将故障转移的结果通知给应用方。

部署哨兵(基于docker)

由于只有一个云服务器,但是需要6个节点,基于在虚拟机上实现;

docker可以认为是一个“轻量级”的虚拟机;起到了虚拟机这样隔离环境的效果,但是又不会吃很多硬件资源;

略......................


哨兵选举原理:

1.主观下线:

当主节点宕机时,此时主节点和三个哨兵节点的心跳包没有了;

站在哨兵节点的角度上,主节点发生了严重故障,因此三个哨兵节点会把主节点判断为主观下线(SDown);

2.客观下线:

多个哨兵节点认为主节点挂了,那就是挂了,当故障得票数 >= 配置的法定票数

这就是客观下线(ODown)

3.选举出哨兵的leader

此时接下来只需要从剩下的从节点中选一个当主节点出来,但这个工作不需要多个哨兵都参与,只需要选出一个代表(leader),由这个leader负责升级从节点到主节点这个过程;

哨兵之间的选举涉及到Raft算法:
Raft 的领导选举是通过“投票”机制来完成的,每个节点都会投票选举一个领导者。在选举过程中,候选人会向其他节点请求投票,如果得到大多数节点的支持,它就成为新的领导者。
简而言之, Raft 算法的核心就是 "先下手为强". 谁率先发出了拉票请求, 谁就有更大的概率成为 leader.
无论选到谁作为leader都不重要,只需要能选出来一个节点即可~

4) leader 挑选出合适的从节点成为新的主节点

挑选规则:

  1. 比较优先级. 优先级高(数值小的)的上位. 优先级是配置文件中的配置项( slave-priority  或者 replica-priority ). 
  2. 比较  replication offset  谁复制的数据多, 高的上位.  
  3. 比较  run id , 谁的 id 小 谁上位.  

当某个 slave 节点被指定为 master 之后,  
1. leader 指定该节点执行  slave no one , 成为 master 
2. leader 指定剩余的 slave 节点, 都依附于这个新 master 


集群

上述的哨兵模式,虽然提高了系统的可用性,但是真实存储数据的还是主节点和从节点,所有的数据都存储在主从节点上;如果数据量超过了主从节点的内存上,那么就可能出现严重问题了~

所以就可以加入多台机器,可以解决内存不够的情况,引入多组主从节点,从而构成一个更大的整体,称为集群~

例如此时1TB的数据被分块成三份,那么每一组机器只需要存储整个数据全集的 1/3 即可.

数据分片算法

数据可以分层多份,那么要怎么样分,才是最合适的呢?

1.哈希求余

借鉴了哈希表的基本思想,借助hash函数,把一个key映射到一个整数上,再针对数组的长度求余,就可以得到一个数组下标

设有 N 个分片, 使用 [0, N-1] 这样序号进行编号.

N 为 3 的时候, [100, 120] 这 21 个 hash 值的分布 (此处假定计算出的 hash 值是一个简单的整数, 方便肉眼观察)

优点: 简单高效, 数据分配均匀.

但是缺点更加明显,一旦需要扩容,原有的映射规则就会被破坏,此时需要重新计算,重新排列,所有需要大量的搬运

如上图可以看到, 整个扩容一共 21 个 key, 只有 3 个 key 没有经过搬运, 其他的 key 都是搬运过的.

2.一致性哈希算法

在哈希求余算法过程中,每个key属于哪个分片,是交替出现的(这就导致搬运成本大大提高),在一致性哈希算法中,可以将交替出现,改进成连续出现~

 此时,如果新增一块分片,那么只需在环上重新安排一块区间

此时只需将0号分片的数据搬运到3号分片即可,那么1号和2号分片的区间是不变的~
但是由于1号和2号数据不变,那么它们所属的分片上的数据量就不均匀了,有的多有的少,数据倾斜;

3.哈希槽分区算法 (Redis 使用)

为了解决上述搬运成本高和数据分配不均匀的问题,Redis引入了哈希槽算法;

hash_slot = crc16(key) % 16384  crc16 也是一种 hash 算法.
16384 其实是 16 * 1024, 也就是 2^14.

相当于是把整个哈希值, 映射到 16384 个槽位上, 也就是 [0, 16383].

然后再把这些槽位比较均匀的分配给每个分片. 每个分片的节点都需要记录自己持有哪些分片.

 假设当前有三个分片, 一种可能的分配方式: 
• 0 号分片: [0, 5461], 共 5462 个槽位 
• 1 号分片: [5462, 10923], 共 5462 个槽位 
• 2 号分片: [10924, 16383], 共 5460 个槽位 

 

如果需要进行扩容, 比如新增一个 3 号分片, 就可以针对原有的槽位进行重新分配.  
比如可以把之前每个分片持有的槽位, 各拿出一点, 分给新分篇.  
⼀种可能的分配方式: 
• 0 号分片: [0, 4095], 共 4096 个槽位 
• 1 号分片: [5462, 9557], 共 4096 个槽位 
• 2 号分篇: [10924, 15019], 共 4096 个槽位 
• 3 号分片[4096, 5461] + [9558, 10923] + [15019, 16383], 共 4096 个槽位 

搭建集群:

通常集群的搭建都是三个主节点,六个从节点这样的形式

搭建过程复杂略..........


 主节点宕机处理流程:

  • 自动故障检测
    节点间通过 Gossip 协议 定期交换状态信息。若某主节点被多数节点标记为不可达(通过心跳超时判断),集群会触发故障转移。

  • 故障转移流程

    1. 从节点发起竞选。

    2. 其他主节点投票选出新的主节点。

    3. 原主节点的槽重新分配给新主节点。

    4. 客户端自动重定向到新主节点。


小结: 

主从模式主要是数据冗余和读写分离。主节点处理写,从节点复制数据并处理读,这样可以提高读的吞吐量。但主从模式的问题在于主节点单点故障,这时候就需要哨兵来监控和自动故障转移。哨兵确保当主节点宕机时,能自动选一个从节点升级为主,保证系统的高可用性。不过,主从加哨兵还是单主节点,写操作还是受限于主节点的性能,无法水平扩展。

接下来是集群,它通过分片解决数据量过大和写性能的问题。集群将数据分散到多个主节点,每个节点负责一部分数据,这样写操作可以分布到不同节点,提高了整体性能。同时,每个主节点有对应的从节点,保证高可用。用户可能需要处理大量数据或高并发写入,这时候集群就比主从加哨兵更合适。

对比总结

架构核心目标优点缺点适用场景
主从模式数据冗余、读写分离简单易用,成本低手动故障恢复,单点写入瓶颈小规模应用,数据备份
哨兵模式高可用性(自动故障转移)自动化故障转移,服务发现无法扩展写性能,不分片中等规模,高可用需求
集群模式数据分片 + 高可用 + 水平扩展支持大规模数据和高并发,高可用配置复杂,事务受限大数据量、高并发、高可用需求

  • 主从模式 → 主从 + 哨兵 → 集群模式
    随着业务增长,逐步从单点冗余过渡到自动化高可用,最终通过分片解决性能和容量瓶颈。

  • 集群模式 是终极方案,但复杂度高,需根据实际需求权衡是否必要。

再谈Redis三种集群模式:主从模式、哨兵模式和Cluster模式 redis主从:可实现高并发(读),典型部署方案:一主二从 redis哨兵:可实现高可用,典型部署方案:一主二从三哨兵 redis集群:可同时支持高可用(读与写)、高并发,典型部署方案:三主三从 阅读详情

相关推荐

深入学习 Redis - 主从结构配置、流程、底层原理(全网最详细)

单点问题可用性:如果这个机器挂了,意味着服务就中断了.性能:支持的并发量也是比较有限的.因此引入分布式系统,主要也是为了解决上述的单点问题~ 分布式系统中,往往需要多个服务器来部署 redis 服务,从而构成redis 集群,此时就可以让这个集群给整个分布式系统中的其他服务,提供更稳定 / 更高效的数据存储功能.本章主要来讲一下 redis 部署方式中的主从模式~

CYK_byte的博客 1万+

Redis三种模式——主从复制、哨兵模式、集群

主从复制,是指将一台 Redis 服务器的数据,复制到其他的 Redis 服务器。前者称为主节点(Master),后者称为从节点(Slave);数据的复制是单向的,只能由主节点到从节点。默认情况下,每台 Redis 服务器都是主节点;且一个主节点可以有多个从节点 (或没有从节点),但一个从节点只能有一个主节点。

ll945608651的博客 3899

一文读懂Redis之主从模式搭建

本文详细介绍了Redis主从模式的搭建过程,包括Master和Slave节点的安装配置、服务启动及数据同步验证。主要内容涵盖:1)Redis主从模式的作用,提高数据可靠性并分担读写压力;2)环境准备,包括服务器IP、系统版本和依赖安装;3)具体搭建步骤,从目录创建、安装包下载到配置文件修改;4)主从服务启动和状态检查;5)数据同步验证。通过该方案,可有效实现Redis数据冗余备份和读写分离,增强服务可用性。

野熊佩骑的博客 1935

【Redis】三种集群模式(主从复制、哨兵模式、Cluster)

redis有三种集群模式,其中主从是最常见的模式。Sentinel 哨兵模式是为了弥补主从复制集群中主机宕机后,主备切换的复杂性而演变出来的。哨兵顾名思义,就是用来监控的,主要作用就是监控主从集群,自动切换主备,完成集群故障转移。cluster 模式是redis官方提供的集群模式,使用了Sharding 技术,不仅实现了高可用、读写分离、也实现了真正的分布式存储。

weixin_40381772的博客 5699

在 Windows 上安装 OpenCV – C++ / Python

而且,安装并不是一件容易的事。这些安装程序仅适用于安装 OpenCV for C++。如果您想安装适用于 Python 的 OpenCV,您将在博客后面找到相关信息。在这篇博文中,我们将在 Windows 上安装适用于 C++ 和 Python 的 OpenCV。C++ 安装是在自定义安装 exe 文件的帮助下完成的。而Python的安装是通过Anaconda完成的。从源代码安装 OpenCV 需要花费大量时间。根据您的硬件和安装配置,该过程可能需要 5 分钟到 2 小时不等。

Demondai999的博客 2089

基于LSTM GRU RNN的交通流量预测-完整数据代码

基于LSTM GRU RNN的交通流量预测-完整数据代码

921

redis 主从模式,哨兵模式,cluster(集群)模式 简介

详细可以参看《redis官网文档》或者《redis中文网》 Redis集群方式共有三种:主从模式,哨兵模式,cluster(集群)模式 主从模式:是三种集群方式里最简单的。它主要是基于Redis的主从复制特性架构的。通常我们会设置一个主节点,N个从节点;默认情况下,主节点负责处理使用者的IO操作,而从节点则会对主节点的数据进行备份,并且也会对外提供读操作的处理。主要的特点如下: 主从模式...

鸭鸭的博客 3万+

【UML】-- 期末试题题库含答案(各章题目、选择题、填空题、简答题、画图题)

每章都有对应的题目和答案,选择题,填空简答,大题,答案已标红,方便大家观看

个人博客 1万+

Redis三种集群模式:主从模式、哨兵模式和Cluster模式

redis主从:可实现高并发(读),典型部署方案:一主二从redis哨兵:可实现高可用,典型部署方案:一主二从三哨兵redis集群:可同时支持高可用(读与写)、高并发,典型部署方案:三主三从。

3783

科研绘图系列:R语言绘制极坐标饼图(pie plot)

科研绘图系列:R语言极坐标饼图(pie plot)

专注生信领域 1050

ASPICE标准快速掌握「2.1. 过程能力概览」

一个项目的质量流程是否做的好最终会需要由一个指标来确定,ASPICE将其称为过程能力(Process capability),过程能力是一个综合的判定概念。而为了实现这个概念,ASPICE建立了一套完整的过程评估模型(Process Assessment Model),通过这套评估模型最终就能得出过程能力的最终得分。项目组根据这个得分不断改进和优化得分不足的方面,从而约束整个流程的各个方面来间接提升项目的最终质量。这里有三个关键术语:其中最主要的就是PAM,即过程评估模型,由ASPICE给出,该模型可以看成

雪云飞星的博客 1183

Redis的三种模式:主从模式,哨兵与集群模式

redis的三种模式:主从模式,哨兵模式与集群模式

追赶时代的博客 1506

3. NVIDIA GPU Xid 常见错误码全解析、故障定位与标准化处理方案

摘要: Xid是NVIDIA显卡驱动记录的硬件/软件异常日志,通过dmesg等工具可获取,包含PCI总线、GPU编号、故障码等信息,是诊断显卡问题的核心依据。Xid故障分为四类:应用程序类(如代码错误,Xid13/31)、显存ECC硬件类(如显存损坏,Xid48/63)、链路/供电温控类(如PCIe故障,Xid74/79)和GSP固件类(如静电干扰,Xid119/154)。排查流程包括日志采集、软件修复(如重启进程、升级驱动)、硬件检查(如PCIe链路状态)及断电复位(针对GSP故障)。预防措施包括监控EC

jundao1997的专栏 652

Redis - 主从模式、哨兵模式、集群模式

设想一下,你的咖啡馆在城市中太受欢迎,导致每天都人满为患。为了缓解这种压力,你决定在其他地方开设分店,这样顾客就可以在附近的分店享受咖啡,而不必涌向一个地方,这就好比Redis的主从复制,让数据备份并允许多个地方进行读取。但这还不够,因为你需要确保当主要的咖啡馆遇到问题时,例如突然断电,有其他分店能够迅速接手,成为新的主要店铺,继续为顾客提供服务。这就像Redis的哨兵系统,它会自动检测故障并进行转移,确保服务始终在线。

技术博客 1036

Cesium 实现气象(温度,降水,风速)可视化详细代码实现

本教程介绍了使用Cesium实现气象数据可视化的方法,主要包括:1) 搭建Cesium开发环境;2) 三种核心气象要素的展示技术:温度热力图(基于颜色渐变和点密度)、降水区域填充(矩形着色)和风速风向(粒子系统);3) 数据集成方案,包括模拟数据生成和API对接;4) 高级功能如3D温度柱和时间序列动画;5) 性能优化策略,如数据聚合和LOD控制。教程提供了完整的代码示例,从基础配置到视觉效果实现,帮助开发者构建交互式气象可视化应用。

专注AI大模型,软件混淆,授权 1840

YOLOv11改进策略【注意力机制篇】| SE、CBAM、ECA、CA、Swin Transformer等注意力机制全面解析与应用

本文详细介绍了五种主流的注意力机制及其在YOLOv11中的应用。通过合理的模块选择和位置部署,注意力机制能够显著提升目标检测性能。

QQ_778132974的博客 873

Redis高级(Redis持久化,Redis主从模式,Redis哨兵模式,Redis分片集群)

所谓持久化,指的是数据的永久保存。Redis是一个内存数据库,它的所有数据都在内存中,所以有极高的读写性能,但是内存中的数据全部是临时的,所以一旦Redis进程结束,所有数据就会清空了。为了防止这样的问题,Redis提供了持久化机制:RDB模式:快照模式,默认是开启状态的AOF模式:日志模式注意:在后续的所有演示中,只要修改了配置文件,就必须要重启redis服务单节点的Redis服务支持的并发是有限的:所有客户端的请求全部冲击到仅有的一台服务器上,服务器可能因为压力过大而阻塞不能及时响应。

qq_1424674116的博客 1276

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Redis集群方案之主从模式、哨兵模式、分片集群。

Redis集群方案之主从模式、哨兵模式、分片集群。

m0_56615376的博客 736

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Redis的主从模式,哨兵模式和集群搭建

Redis在Linux环境下的安装点击这里 一、Redis的主从模式 主从模式需要至少两个redis服务器,这里我们用一台服务器简单做一下操作 redis的基础安装见上述连接 1.进入我们redis的根目录 cd /usr/local/redis 2.创建一个文件夹ms来存放我们两个redis服务器的配置文件,待会儿分别用不同的配置文件来启动不同的redis mkdir ms 3.复制我们的配置文件到ms文件夹下并改名 redis1的配置文件: cp redis.conf /usr/local/re

开心博客 1929

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

redis主从模式,redis哨兵模式,redis集群模式

redis的安装 https://mp.youkuaiyun.com/console/editor/html/108639018 主从模式的作用 做备份数据,这样当一个节点损坏(指不可恢复的硬件损坏)时,数据 因为有备份,可以方便恢复。 做负载均衡,所有客户端都访问一个节点肯定会影响 Redis 工作效率,有了主 从以后,查询操作就可以通过查询从节点来完成。 主从模式关于master的读写,和slaves的读: 一个 Master 可以有多个 Slaves 默认配置下,master 节点可以进行

m0_37322399的博客 375

Redis 高可用分片集群:主从模式与哨兵机制详解

Redis 的高可用分片集群方案是现代分布式系统中处理大规模数据和高并发访问的关键技术。分片集群:解决了单节点容量和性能瓶颈,实现了水平扩展。主从模式:提供了数据冗余和基础的读写分离能力,是高可用架构的基础。哨兵机制:在主从模式上增加了自动化监控和故障转移能力,是实现高可用的关键保障。将分片集群与哨兵机制结合,可以构建出既具备强大扩展能力,又能提供高可靠服务的 Redis 数据存储解决方案,满足日益增长的业务需求。在选择和部署时,需要根据具体的业务场景、数据量、性能要求和对可用性的期望来综合考虑。

2403_87122583的博客 1115

浅谈redis的单点模式、主从模式、哨兵模式和集群模式

最近换了单位用redis和nginx,对于像博主这样之前只听过其大名的菜鸟,深深的感觉到头大,经过几天的研究,对redis和nginx有了初步的了解,下面我们看一下redis的常见模式:单点模式、主从模式、哨兵模式和集群模式。 【单点模式】 单点模式又称单节点模式,是最简单的Redis模式,就是一个redis实例,如果只是自己测试缓存或者小程序,数据量很小,仅仅做一个小型...

Love_云宝儿的博客 6495

Redis的高可用方案:主从模式、哨兵模式、集群模式

redis高可用方案

RichardGeek的博客 3847

redis 集群方案的介绍(主从模式、哨兵模式、Redis Cluster模式)

分享内容: redis 集群方案的介绍(主从模式、哨兵模式、Redis Cluster模式) Redis Cluster 的部署和使用 本次演示使用的Redis版本为 redis-5.0.3 一、主从模式 将数据完全存储在单个redis中主要存在两个问题:数据备份和数据体量较大造成的性能降低。 Redis的主从模式为这两个问题提供了一个较好的解决方案。主从模式指的是使用一个redis实例作为主机,其余的实例作为备份机。 主机和从机的数据完全一致,主机支持数据的写入和读取等各项操作,而从机则只支持与主机数据的

落日的博客 1203

Redis高可用集群方案 主从模式 哨兵模式 Cluster集群

前言 我们都知道Redis是基于内存级别的操作,他的速度非常快,但是这样也带来了弊端。就是当Redis宕机了之后会给业务带来很大的影响,即使有RBD或AOF的持久化机制,也并不能满足我们的要求。因此有了高可用集群方案。 高可用集群的优劣 ???? 优点: 读写分离 负载均衡s 提高吞吐量 增强系统健壮性 ???? 缺点: 需要花钱买机器 维护成本高,业务复杂 主从模式 主从模式是redis中最简单的集群结构,cluster集群中也会出现主从的影子 主从模式从以前的单机结构,扩展成了多个从节点,1个

weixin_43652842的博客 285
上一篇: 【Redis】缓存+分布式锁
下一篇: 【多线程】阻塞队列,线程池,定时器
评论 84
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值