赞
踩
+ [集群配置](#_28)
+ [集群分片-槽位](#_37)
+ [主从容错切换](#_54)
+ [集群读写](#_60)
+ [缺点](#_66)
+ [集群扩缩容-增加或者删除节点](#_70)
+ [常用命令集锦](#_94)
集群机制是哨兵机制的升级版,哨兵机制中存在一个问题,即在主从架构的Redis服务器中,当主机宕机之后,哨兵需要通过选举Sentinel leader、投票判断主机是否客观下线(客观的意思就是多个哨兵都认为该台Redis服务器出故障了)和故障迁移(从从机中选出一台Redis服务器作为新的主机)。
这一段时间,可能会接受到来自客户端的写命令,而故障迁移需要时间,这样就导致了数据的损失,如果有多台Redis主机和多台从机,一台主机宕机了,直接让另一台主机顶上就好,这就是集群机制的由来。
官网说明是,集群是多台Redis服务器共享的数据集(数据集类似java中的jar包),我这里把集群理解成一个容器,装着多台主从Redis服务器,能够互相通信。
配置某台服务器宕机了是否对外提供服务:
其实就是解决一个问题:当客户端传来写数据,应该存储在哪个redis主机的哪个位置,这个位置相当于数据的坐标,也就是存储数据的映射问题,前身是哈希取余分区(即取键值对中键的哈希值/服务器数量,增删集群中的节点,数据的变动较大)和一致性哈希算法(即在哈希取余分区的前提之上,把服务器数量修改为哈希最大值,会产生数据倾斜问题)。
哈希槽是Redis中引出的一种抽象概念,主要用于数据分片机制,Redis集群的哈希槽共计有16324(2^14)个,相当于数据(键值对)的坐标,一个萝卜一个坑的那种。
2. 分片:将存储的数据分散存储到多台服务器中,类似数据的分组存储。
3. 优点:方便增删节点,因为槽位的移动不会停止Redis服务
当集群中的某台主机宕机之后,从机会重新上位,该主机重新上线之后,会变成从机,这时可以命令"CLUSTER FAILOVER"(注意先通过客户端连接到该原主机),就可以恢复成主机。
由于每当客户端传来一个写命令(键值对)的时候, 都要给这个键值对分配槽位,而这个槽位不一定是在当前客户端连接的主机上(集群中一般有多台主机),需要在连接客户端命令时,添加参数(-c),这样在执行写命令的时候,比如"redis-cli -a 密码 -p 端口号 -c"就可以直接重定向到所分配的那个槽位对应的主机执行写命令。
集群机制也不能保证数据的强一致性,即可能会丢失数据,比如当某台主机下线之后,从机正在执行上位操作,这时客户端写入的数据所分配的槽位还是原来那台主机的时候,就会造成这部分数据无法写入,导致数据丢失。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。
需要完整版PDF学习资源私我
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中…(img-UJ6cne0S-1713037815386)]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。