美文网首页
redis集群简单介绍

redis集群简单介绍

作者: Teech | 来源:发表于2021-08-01 15:49 被阅读0次

redis工作模式

  1. 单机
  2. sentinel
  3. cluster
sentinel模式

基本部署模式

       +----+
       | M1 |
       | S1 |
       +----+
          |
+----+    |    +----+
| R2 |----+----| R3 |
| S2 |         | S3 |
+----+         +----+
quorum = 2 保证顺利投票
1. 由于redis没有类似mongo的 write concern选项,切换会丢数据,可以用配置min-slaves-to-write来缓解
2. 可以实现故障转移failover,基本的sentinel部署结构
3. 也可以把几个sentinel配置在单独的机器中,总体思路是把sentinel分开部署,甚至考虑和client部署在一起
客户端连接
  1. 从sentinel地址列表中挑一个
  2. 询问master并连接
  3. role,询问身份
  4. 期间发生重连都要重复上述过程
  5. 当发生故障转移,该节点会kill掉所有的客户端连接,节点会立即或者等分区结束后降为slave
  6. 对于连接池,每次新连接都需要检测地址有没有变, 有的话所有连接都重置。
cluster模式
  1. 更多的并行内存,不仅限与单机内存
  2. multi-key 限制
  3. redis使用hash slot而不是一致性hash,16384个节点。key计算crc后取mod
  4. 如果发生迁移,迁移状态完成前老节点继续承担工作,完成后新节点承担,如果老节点找不到,老节点会让你从新节点请求。
  5. 节点间通过gossip协议同步节点的slot元信息,每个节点随机向K个节点发送自身持有的M个meta信息。
  6. 客户端随机连一个节点,如果数据不在当前节点,会收到一个MOVED重定向
  7. 每个节点可以有多个slave,同理failover也通过gossip协议感知。
  8. 一样可能写丢失
  9. 可以通过配置timeout以及最小写副本数量来缓解写丢失。
  10. gossip协议最终收敛,去中心化,可拓展性强,但只能最终一致性,数据传输也比较冗余。

相关文章

  • redis集群简单介绍

    redis工作模式 单机 sentinel cluster sentinel模式 基本部署模式 客户端连接 从se...

  • Redis之集群环境搭建

    Redis集群 一、Redis集群相关概念 1.Redis集群介绍 Redis 集群是一个提供在多个Redis间节...

  • Redis从入门到精通(八、Redis 集群)

    此篇介绍Redis Cluster 集群,简单介绍一下集群的实现,主要还是具体的实践部分:集群的开启,故障转移,添...

  • 玩转Redis集群(上)

    这是redis集群介绍的上篇,主要是关于Redis集群的搭建。后续将为大家介绍Redis集群的常用命令、Java操...

  • Springboot + Redis 4.x.x 搭建集群

    Redis集群的搭建 简单介绍Redis 简单说一下Redis是什么,在我的理解中redis作为一个高性能的NoS...

  • 2019-07-04 NoSQL-Day02-Redis Clu

    Redis Cluster 集群 一、集群介绍 官方提供的 Redis Cluster 集群方案,很好的解决了集群...

  • Redis集群(一)

    Redis 集群概念(一) 本文提取至官网文档 Redis集群介绍 Redis 集群是一个提供在多个Redis间节...

  • codis/redis集群性能分析

    本文以codis集群为例,介绍redis集群的性能分析方法,其他的redis 集群版本比如redis cluste...

  • 11.Redis集群入门

    本主题,介绍了Redis的集群配置与编程入门,其实Redis的集群还包含主从集群模式,哨兵集群模式(Redis 5...

  • 用Codis实现Redis分布式集群

    一、Redis集群概述 Redis官方近期推出的Redis Cluster,Redis集群有三种实现机制,分别介绍...

网友评论

      本文标题:redis集群简单介绍

      本文链接:https://www.haomeiwen.com/subject/aotrvltx.html