上一页 1 2 3 4 5 6 ··· 13 下一页
摘要: 阅读全文
posted @ 2024-04-19 14:53 蓝海的bug本 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 故障转移 当集群中有一个master宕机会发生什么呢? 宕机7002节点,这是宕机之前的状态 这是宕机以后的状态,7002失去连接了,而7002的slave8003变成了master 启动以后7002变成slave了 Reids集群不需要sentinel,自动具有主从故障切换 以上是自动故障转移 数 阅读全文
posted @ 2024-04-19 14:46 蓝海的bug本 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 集群伸缩 添加一个节点到集群: Redis-cli--cluster提供了很多操作集群的命令,可以通过下面方式查看: 比如,添加节点的命令 先输入新增的ip和端口号,后输入集群已经有的ip和端口号好指定添加到哪个集群。默认是增加master节点,加上--cluster-slave是变成了slave。 阅读全文
posted @ 2024-04-18 15:05 蓝海的bug本 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 散列插槽 Redis会把每一个master节点映射到0~16383共16284个插槽(hash slot)上,查看集群信息时就能看到: 数据key不是与节点绑定,而是与插槽绑定。Reids会根据key的有效部分计算插槽值,分两种情况: l Key中包含“{}”,且“{}”中至少包含1个字符,“{}” 阅读全文
posted @ 2024-04-17 16:29 蓝海的bug本 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 分片集群结构 主从和哨兵可以解决高可用、高并发读的问题。但是依然有两个问题没有解决: l 海量数据存储问题 l 高并发写的问题 使用分片集群可以解决上述问题,分片集群特征: l 集群中有多个master,每个master保存不同数据,因此能存多少取决于master节点的数量,解决了海量数据存储的问题 阅读全文
posted @ 2024-04-16 15:21 蓝海的bug本 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 在sentinel集群监管下的redis主从集群,其节点会因为自动故障转移而发生变化,redis的客户端必须感知这种变化,以及更新连接信息。Spring的redisTemplate底层利用lettuce实现了节点的感知和自动切换。 阅读全文
posted @ 2024-04-15 15:05 蓝海的bug本 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 新建sentinel.conf文件。输入下面的内容 1是端口号 2是sentinel声明的ip 3是sentinel监控的master的ip和端口号,mymaster是集群的名字,也可以理解成给主节点起的名字,可以任意起名字。Slave的信息是从master得到的。2是选举master时的quoru 阅读全文
posted @ 2024-04-12 19:06 蓝海的bug本 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 哨兵的作用 Redis提供了哨兵(Sentinel)机制来实现主从集群的自动故障恢复。哨兵的结构和作用如下: 服务状态监控 Sentinel基于心跳机制监测服务状态,每隔1秒向集群的每个实例发送ping命令。 l 主观下线:如果某sentinel节点发现某实例未在规定时间响应,则认为该实例主观下线。 阅读全文
posted @ 2024-04-11 14:26 蓝海的bug本 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 如果slave重启后同步,则执行增量同步 什么情况下无法做增量同步 repl_baklog是个数组,它会循环覆盖之前的数据。如果master记录的数量超出这个环,覆盖了slave的offset,找不到了,就只能去做全量同步了 可以从以下几个方面来优化redis主从集群: l 在master中配置re 阅读全文
posted @ 2024-04-10 09:57 蓝海的bug本 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 数据同步原理 主从的第一次同步是全量同步: Master如何判断slave是不是第一次来同步数据?这里会用到两个很重要的概念: Replication id:简称replid,是数据集的标记,id一致则说明是同一数据集。每一个master都有唯一的replid,slave则会继承master节点的r 阅读全文
posted @ 2024-04-09 14:07 蓝海的bug本 阅读(10) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 13 下一页