Redis第二十二讲 Redis高可用集群节点通信机制
2023-09-11 14:16:28 时间
两个端口
在哨兵系统中,节点分为数据节点和哨兵节点:前者存储数据,后者实现额外的控制功能。在集群中,没有数据节点与非数据节点之分:所有的节点都存储数据,也都参与集群状态的维护。为此,集群中的每个节点,都提供了两个
TCP端口
- 普通端口:即我们在前面指定的端口(7000等)。普通端口主要用于为客户端提供服务(与单机节点类似);但在节点间数据迁移时也会使用。
- 集群端口:端口号是普通端口+10000(10000是固定值,无法改变),如7000节点的集群端口为17000。集群端口只用于节点之间的通信,如搭建集群、增减节点、故障转移等操作时节点间的通信;不要使用客户端连接集群接口。为了保证集群可以正常工作,在配置防火墙时,要同时开启普通端口和集群端口。
节点通信机制
维护集群的元数据(集群节点信息,主从角色,节点数量,各节点共享的数据等)有两种方式:集中式和gossip ;
Redis cluster节点间采取gossip协议进行通信 。
-
集中式(广播)
向集群内所有节点发送消息; 优点在于元数据的更新和读取,时效性非常好,一旦元数据出现变更立即就会更新到集中式的存储中,其他节点读取的时候立即就可以立即感知到;
不足在于所有的元数据的更新压力全部集中在一个地方,每条消息都要发送给所有节点,CPU、带宽等消耗较大;可能导致元数据的存储压力。 很多中间件都会借助zookeeper集中式存储元数据。 -
gossip
相关文章
- redis实战笔记(10)-第10章 扩展Redis
- vagrant+java+springcloud+redis+zookeeper镜像下载(&制作详解)
- redis安装与使用(windows端)+Redis设置Auth认证保护+redis的管理工具:Redis Desktop Manager
- [Redis]windows下redis的安装和启动
- redis中,如何手动重写aof文件?
- [翻译] C# 8.0 新特性 Redis基本使用及百亿数据量中的使用技巧分享(附视频地址及观看指南) 【由浅至深】redis 实现发布订阅的几种方式 .NET Core开发者的福音之玩转Redis的又一傻瓜式神器推荐
- Redis——Lettuce连接redis集群
- Redis——maven、spring、jedis快速搭建redis工程
- Redis分布式锁
- Redis提供的持久化机制(RDB和AOF)【转载】
- Redis 配置文件
- Shiro Redis注入失败,shiro导致redis不能注入
- Redis集群中的节点如何保证数据一致
- 【Redis入门笔记 01】redis 安装 & 配置
- Redis学习---Redis操作之List
- redis 每个节点上面的key都删除一遍
- Redis(1.18)redis阻塞分析
- Golang中通过go-redis操作Redis
- Redis集群(九):Redis Sharding集群Redis节点主从切换后客户端自动重新连接
- 曹工说Redis源码(4)-- 通过redis server源码来理解 listen 函数中的 backlog 参数
- 曹工说Redis源码(1)-- redis debug环境搭建,使用clion,达到和调试java一样的效果