searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Redis集群(一)-基础介绍

2023-10-27 06:25:13
2
0

针对Redis主从架构的缺点:所有节点都存储着相同的数据副本,整体存储容量受限于单点的存储容量。

Redis集群则是成功实现了数据的分片式存储:Redis 集群有16384 个哈希槽,每个 key 通过 CRC16 校验后对 16384 取模来决定放置哪个槽。集群的每个节点负责一部分 hash 槽,举个例子,比如当前集群有3个节点,那么可能的一种情况为:节点 A 包含 0 到 5460 号哈希槽,节点 B 包含 5461 到 10922 号哈希槽,节点 C 包含 10923 到 16383 号哈希槽。 对于 key 为`my_name`, CRC16(‘my_name’)%16384 = 2412,则被分配在节点 A 上;如果获取这个key,都会转移到节点 A 上。

其特性在于:

  1.  所有节点互联(PING-PONG),集群内部使用二进制协议优化传输速度。
  2. 节点失效(fail)需要集群中超过半数的节点连接失效才生效。
  3. 实现了数据的分布式存储,每台 Redis 主节点上存储的内容不同,解决了主从架构中都存在的存储性能受限。
  4. 每一个节点都支持读写操作,可以直接连接,不需要代理。
  5. 不支持那些需要同时处理多个键的 Redis 命令,可能涉及在多个节点中移动数据。
  6. 支持主从架构,主节点宕机自动选举从节点升级为主节点(需要一半以上的主节点确认),通常采用三主三从。 
  7. 槽的分配和节点的增加/删除可以动态执行,不会影响集群可用性。
0条评论
0 / 1000
l****n
14文章数
0粉丝数
l****n
14 文章 | 0 粉丝
原创

Redis集群(一)-基础介绍

2023-10-27 06:25:13
2
0

针对Redis主从架构的缺点:所有节点都存储着相同的数据副本,整体存储容量受限于单点的存储容量。

Redis集群则是成功实现了数据的分片式存储:Redis 集群有16384 个哈希槽,每个 key 通过 CRC16 校验后对 16384 取模来决定放置哪个槽。集群的每个节点负责一部分 hash 槽,举个例子,比如当前集群有3个节点,那么可能的一种情况为:节点 A 包含 0 到 5460 号哈希槽,节点 B 包含 5461 到 10922 号哈希槽,节点 C 包含 10923 到 16383 号哈希槽。 对于 key 为`my_name`, CRC16(‘my_name’)%16384 = 2412,则被分配在节点 A 上;如果获取这个key,都会转移到节点 A 上。

其特性在于:

  1.  所有节点互联(PING-PONG),集群内部使用二进制协议优化传输速度。
  2. 节点失效(fail)需要集群中超过半数的节点连接失效才生效。
  3. 实现了数据的分布式存储,每台 Redis 主节点上存储的内容不同,解决了主从架构中都存在的存储性能受限。
  4. 每一个节点都支持读写操作,可以直接连接,不需要代理。
  5. 不支持那些需要同时处理多个键的 Redis 命令,可能涉及在多个节点中移动数据。
  6. 支持主从架构,主节点宕机自动选举从节点升级为主节点(需要一半以上的主节点确认),通常采用三主三从。 
  7. 槽的分配和节点的增加/删除可以动态执行,不会影响集群可用性。
文章来自个人专栏
高可用集群部署
11 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0