IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis 集群 -> 正文阅读

[大数据]Redis 集群

Redis 集群
  • redis 主从复制以及哨兵,可以提高读的并发,但单个 master 容量有限,数据达到一定程度会有瓶颈,这个时候可以通过水平扩展为多 master-slave 成为集群
  • redis-cluster:可以支撑多个 master-slave,支持海量数据,实现高可用与高并发
  • 哨兵模式也是一种集群,能够提高读请求的并发,但容错方面可能会有一些问题,比如:master 同步数据给 slave,是异步复制,如果 master 宕机,slave 上的数据就没有 master 新,数据同步需要时间,1-2 秒的数据会丢失,master 恢复并转换成 slave 后,新数据则丢失

集群特点
  • 每个节点知道彼此之间的关系,知道自己的角色,知道在一个集群环境中,相互之间可以交互和通信,比如 ping pong,这些关系都会存储到配置文件中,每个节点都有
  • 客户端要和集群建立连接的话,只需要和其中一个建立关系
  • 某个节点宕机,通过超半数的节点进行检测,客观下线后主从切换,类似哨兵机制
  • redis 中存在很多的插槽,又可以称之为槽节点,用于存储数据

集群容错
  • 构建 redis 集群,一般需要 3 个节点作为 master,组成一个高可用的集群,每个 master 配备一个 slave,整个集群需要 6 个节点,这是最经典的 redis 集群,称之为三主三从,容错性更佳

搭建集群
  • 开启集群模式
    cluster-enabled yes
  • 每一个节点需要有一个配置文件,每个节点处于集群的角色都需要告知其他所有节点,彼此知道,这个文件用于存储集群模式下的集群状态等信息,文件由 redis 维护
    cluster-config-file redis-cluster-noden.conf
  • 超时时间,超时则认为 master 宕机,随后主备切换
    cluster-node-timeout 5000
  • 开启AOF
    appendonly yes
  • redis3.x 版本构建集群
    使用 redis-trib.rb 来构建集群,最新版使用 C 语言来构建
  • 新版的 redis 构建方式
    创建集群,主节点和从节点比例为 1,1-3 为主,4-6 为从,1 和 4,2 和 5,3 和 6 分别对应为主从关系,最经典用的最多的集群模式
    redis-cli --cluster create ip1:port1 ip2:port2 ip3:port3 ip4:port4 ip5:port5 ip6:port6 --cluster-replicas 1
  • 检查 redis 集群信息
    redis-cli --cluster check masterip:masterport

redis slots 槽
  • 一个 redis 集群包含 16384 个插槽(hash slot), 数据库中的每个键都属于这 16384 个插槽的其中一个,集群使用公式 CRC16(key) % 16384 来计算键 key 属于哪个槽
  • 举个例子, 如果集群有三个主节点, 其中:
    节点 A 负责处理 0 号至 5500 号插槽
    节点 B 负责处理 5501 号至 11000 号插槽
    节点 C 负责处理 11001 号至 16383 号插槽
  • redis-cli 每次录入、查询键值,redis 都会计算出该 key 应该送往的插槽,如果不是该客户端对应服务器的插槽,redis 会报错,并告知应前往的 redis 实例地址和端口
  • redis-cli 客户端提供 –c 参数实现自动重定向,如 redis-cli -c –p 6379 登入后,再录入、查询键值对可以自动重定向,不在一个 slot 下的键值,不能使用 mget、mset 等多键操作,可以通过 {} 来定义组的概念,从而使 key 中 {} 内相同内容的键值对放到一个 slot 中去
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-10-31 12:04:09  更:2022-10-31 12:04:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/30 11:51:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码