前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis 集群规范

Redis 集群规范

作者头像
itliusir
发布2018-05-21 16:55:48
7460
发布2018-05-21 16:55:48
举报
文章被收录于专栏:刘君君刘君君

摘要:参考官方文档Redis Cluster spec总结的Redis规范

正文:

Redis 集群规范

安全写入

两个写入丢失的可能

  • 写入操作到达主节点,主节点异步冗余备份还没传播到从节点时候主节点挂了,该写入会丢失 几率很小,虽然是异步备份,但主节点写入并回复客户端的时间和传播给slave节点时间大致相同
  • 故障转移时候,一个没有更新路由表的客户端会在主–>从之前做写入操作(几率更小) 原因:长时间无法被大多数主节点访问的节点会被故障转移掉,不再接受任何写入操作,其修复好后仍然会有一小段时间拒绝写入。好让其他节点有时间去告知配置信息的变更

可用性

根据redis选举机制,高可用需要至少3台服务器(3个master节点),每个master节点都至少要有一个salve节点可达,最好是从节点数量>主节点数量

  1. master遇到故障转移到slave后,集群会再次恢复可用
  2. master故障修复后会重新加入集群成为新master的从节点,防止下次故障
  3. 当从节点有两个就可以多一次故障转移
redis-cluster
redis-cluster

性能

在Redis的集群中,节点并不是把命令转发到负责键的节点上,而是把客户端重定向到服务一定范围内的键的节点上。 最终客户端获得一份最新的集群路由表,里面有写着哪些节点服务哪些键,所以在正常操作中客户端是直接联系到对应的节点来发送指令。

由于使用了异步复制,节点不会等待其他节点对写入操作的回复

所以普通操作是可以被处理得跟在Redis单机版一样的,在一个拥有 N 个master节点的 Redis 集群中,由于线性扩展的设计,你可以认为同样的操作在集群上的性能是Redis单机版的n倍

键分布模型

Redis 集群的键空间被分割为 16384 个槽(slot), 集群的最大节点数量也是 16384 个。

推荐的最大节点数量为 1000 个左右。

每个主节点都负责处理 16384 个哈希槽的其中一部分。

参考链接

Redis Cluster Spec

Redis 集群规范

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正文:
  • Redis 集群规范
    • 安全写入
      • 可用性
        • 性能
          • 键分布模型
            • 参考链接
            相关产品与服务
            云数据库 Redis
            腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档