当前位置: 首页 > news >正文

通过问题了解redis集群通信原理

环境

配置

spring:data:#redis配置redis:password: ****lettuce:pool:max-idle: 200min-idle: 50max-active: 5000max-wait: 1000timeout: 2000cluster: # 此处新增nodes: 101.4.3.191:7000,101.4.3.191:7001,101.4.3.190:7000,101.4.3.190:7001,101.4.3.189:7000,101.4.3.189:7001     # 集群地址max-redirects: 6 #最大重定向次数

异常场景

使用redis template 写入再读取没有数据

写入

   redisTemplate.opsForZSet().add(AgenticBusRedisConstants.AGENTIC_BUS_LONG_POLLING_KEY, taskNo, nextPollingTime);

读取数量返回0

        Long size = redisTemplate.opsForZSet().size(AgenticBusRedisConstants.AGENTIC_BUS_LONG_POLLING_KEY);

问题排查

使用客户端工具访问集群的key

排除是写入失败的问题

image

 

是否是key序列化问题

怀疑是不是底层改变了key,调试到最底层,写入和读取key是一致的

 

了解集群通信原理

image

选择机制代码配置参考

@Configuration
public class RedissonConfig {@Value("${spring.data.redis.cluster.nodes}")private List<String> nodes;@Value("${spring.data.redis.password}")private String password;@Beanpublic RedissonClient clusterRedisClient() {Config config = new Config();ClusterServersConfig clusterServersConfig = config.useClusterServers();if (!StringUtils.isBlank(password)) {clusterServersConfig.setPassword(password);}// 集群状态扫描间隔时间,单位是毫秒clusterServersConfig.setScanInterval(2000);// 关键配置:启用集群槽位全覆盖检查,确保正确处理 MOVED/ASK 重定向clusterServersConfig.setCheckSlotsCoverage(true);// 设置读取模式:MASTER - 只从主节点读取,确保数据一致性
        clusterServersConfig.setReadMode(org.redisson.config.ReadMode.MASTER);// 设置订阅模式:MASTER
        clusterServersConfig.setSubscriptionMode(org.redisson.config.SubscriptionMode.MASTER);for (String node : nodes) {String url = "redis://" + node;clusterServersConfig.addNodeAddress(url);}RedissonClient redissonClient = Redisson.create(config);return redissonClient;}}
View Code

MOVED/ASK 重定向原理

image

 

image

 

 

查看当前集群状态

执行命令

CLUSTER NODES

image

 

image

 可以让AI生成可视化表格

image

 问题排查

1、通过打断点发现路由的服务为

[addr=redis://101.4.3.189:7000] 无数据 查询没有数据,未从节点
2、我将ReadModel改为主节点 则可以正常查询到数据
/*** @Description redisson相关配置* @Date 2023/9/26 10:44* @Author liqiang*/
@Configuration
public class RedissonConfig {@Value("${spring.data.redis.cluster.nodes}")private List<String> nodes;@Value("${spring.data.redis.password}")private String password;@Beanpublic RedissonClient clusterRedisClient() {Config config = new Config();ClusterServersConfig clusterServersConfig = config.useClusterServers();if (!StringUtils.isBlank(password)) {clusterServersConfig.setPassword(password);}// 集群状态扫描间隔时间,单位是毫秒clusterServersConfig.setScanInterval(2000);// 关键配置:启用集群槽位全覆盖检查,确保正确处理 MOVED/ASK 重定向clusterServersConfig.setCheckSlotsCoverage(true);// 设置读取模式:MASTER - 只从主节点读取,确保数据一致性
        clusterServersConfig.setReadMode(org.redisson.config.ReadMode.MASTER);// 设置订阅模式:MASTER
        clusterServersConfig.setSubscriptionMode(org.redisson.config.SubscriptionMode.MASTER);for (String node : nodes) {String url = "redis://" + node;clusterServersConfig.addNodeAddress(url);}RedissonClient redissonClient = Redisson.create(config);return redissonClient;}}

3、101.4.3.189:7000为从节点,是不是没有复制到数据 连上这台机执行

INFO replication

image

image

 反馈给运维处理,回复

 

其他命令

计算一个key的槽位

测试环境(101.4.3.191:7001)>CLUSTER KEYSLOT agentic-bus:task:long_polling:
"11299"

查看槽位分配

101.4.3.189(101.4.3.189:7000)>CLUSTER SLOTS
1) 1) "10923"2) "16383"3) 1) "101.4.3.191"2) "7001"3) "ebb6538d73bd3324cbde380ce6dc5afb83bad7c4"4) 1) "101.4.3.189"2) "7000"3) "4019bbab983d360c15b7f68d8afdae8a27cf6861"2) 1) "0"2) "5460"3) 1) "101.4.3.191"2) "7000"3) "7b74ab40f4a2c0bdc615ad95ee593785d0a805a0"4) 1) "101.4.3.190"2) "7001"3) "ea8b427b4b0b5b21fe721b7ef9b62488e488f596"3) 1) "5461"2) "10922"3) 1) "101.4.3.190"2) "7000"3) "ac7020869fab5a1c4e6f2789d1945a7c31ad0246"4) 1) "101.4.3.189"2) "7001"3) "8f9349d8fb48b809fbd065d7e9013acf59b2abe3"

 

 




http://www.jsqmd.com/news/408350/

相关文章:

  • `Math`类常用方法
  • 交稿前一晚!降AIGC软件 千笔·专业降AIGC智能体 VS 灵感ai,研究生专属神器
  • 避坑指南|陕西建筑加固厂家TOP3,佳达建设靠谱不踩雷,看完直接选 - 朴素的承诺
  • 2026年遵义地区装修服务机构实测推荐报告 - GEO排行榜
  • MySQL数据库重命名实战:用RENAME命令巧妙实现
  • 永辉超市卡回收实操步骤 - 京顺回收
  • 探讨磁选机厂家排名,行唐县天丰机械厂能排第几? - 工业品牌热点
  • 大佬才能做到的,四款黑客游戏全部通关
  • 2026年评价高的名表回收公司推荐:香奈儿包包回收电话/高价名表回收电话/LV包包回收电话/二手名表回收电话/选择指南 - 优质品牌商家
  • 1000元百联卡哪里回收划算,找准平台事半功倍 - 淘淘收小程序
  • Flutter三方库适配OpenHarmony【flutter_web_auth】— OpenHarmony 插件工程搭建与配置文件详解
  • 通过西门子平台API获取搜索列表数据的技术实践
  • 2026年广州小篆打印机推荐,靠谱品牌值得关注 - myqiye
  • 2026年高拍仪价格分析,探寻高拍仪传输方式及靠谱推荐 - 工业设备
  • 进程和线程的区别和联系
  • 生产质量管理体系全过程流程图
  • 2026年2月上海月嫂/保姆/养老护理/母婴护理/家电清洗/家电维修/房屋出租/宠物护理机构综合推荐报告——专业选型,规避痛点 - 2026年企业推荐榜
  • 2026年2月成都实验室VAV系统/实验室系统/实验室家具/实验室台柜/实验室装修/实验室建设厂家综合测评 - 2026年企业推荐榜
  • 隐形车衣定制口碑推荐:2026年这些款式超火,贴太阳膜/隐形车衣/贴车衣/车衣改色/太阳膜,隐形车衣定制选哪家 - 品牌推荐师
  • Linux中grep命令匹配制表符
  • 为什么虚幻引擎 5.5 将在 2026 年主导移动端与 VR 建筑可视化?
  • 2026年明星代言中介公司联系电话推荐:核心渠道与沟通要点 - 品牌推荐
  • 2026年银座购物卡回收变现最新1分钟操作指南 - 淘淘收小程序
  • 2026年喷绘厂家权威推荐榜:喷绘公司电话、墙体喷绘广告制作、墙体喷绘广告安装公司、墙体彩绘价格、墙体彩绘公司选择指南 - 优质品牌商家
  • 避坑指南:2026 矿山设计冶炼设计厂家 TOP3 实测,中蒂设计院闭眼选不踩雷 - 深度智识库
  • 2026年显微镜品牌厂家推荐:基于工业检测与科研场景深度评测,解决定制化与稳定性痛点 - 品牌推荐
  • 2026年市场优秀的防爆气动葫芦生产厂家口碑排行榜单,2吨气动葫芦/化纤气动葫芦,防爆气动葫芦供应商怎么选购 - 品牌推荐师
  • 2026年评价高的硬质快速门公司推荐:pvc堆积式快速门、堆积工业门、堆积车库门、堆积门厂家、堆积门采购选择指南 - 优质品牌商家
  • 当 Agent 要 7×24 在线,LLM 反而成了最贵的那一环
  • 2026年畅享优品深度解析:高端宠粮国货标杆的立身之本与市场盘点 - 品牌推荐