redisson与redis集群检测心跳机制原理

redisson与redis集群检测心跳机制原理

1、ClusterConnectionManager.scheduleClusterChangeCheck 创建延时定时调度任务

2、monitorFuture = group.schedule(new Runnable() {

EventExecutorGroup 是 Netty 中用于管理一组 EventExecutor 的组件,它类似于 EventLoopGroup,但更加通用,可以用于执行非I/O任务和I/O任务。EventExecutorGroup 通常用于那些需要异步执行任务的场景,它提供了一个线程池来执行提交的任务。

schedule 方法是 EventExecutorGroup 接口的一部分,它允许你安排一个 Runnable 任务在未来的某个时间点执行。这个方法通常有两个重载版本:

  1. schedule(Runnable task, long delay, TimeUnit unit):安排一个任务在指定的延迟后执行。
  2. schedule(Callable<T> task, long delay, TimeUnit unit):安排一个 Callable 任务在指定的延迟后执行,并返回一个 Future<T> 对象,该对象可以用来获取任务的结果。

这些方法的参数说明如下:

  • taskcallable:要执行的 RunnableCallable 任务。
  • delay:任务首次执行之前的延迟时间。
  • unitdelay 参数的时间单位。

3、processSelectedKeys() 处理网络事件

4、更新redis集群状态

相关推荐
小马爱打代码26 分钟前
Redis 集群方案详解:主从复制、哨兵、脑裂、分片集群和哈希槽
数据库·redis·哈希算法
刀法如飞1 小时前
AI时代:DDD领域驱动建模与Ontology语义建模的区别
java·设计模式·架构
jeffer_liu1 小时前
Spring AI 生产级实战:工具调用
java·人工智能·后端·spring·ai编程
比昨天多敲两行1 小时前
linux 线程概念与控制
java·开发语言·jvm
8Qi82 小时前
LeetCode 75:颜色分类(荷兰国旗问题)—— Java 题解 ✅
java·算法·leetcode·指针·排序
zzhongcy2 小时前
@Transactional 同类内部调用失效 + 两种自代理解决方案
java
海南java第二人2 小时前
ClickHouse 稀疏索引深度解析:为什么 OLAP 数据库不用 B-Tree?
数据库·clickhouse
Litluecat2 小时前
信创迁移:Oracle切换海量数据库,慢sql扫描
数据库·sql·oracle·信创·海量
AutumnWind04202 小时前
【Intelij IDEA使用手册】
java·ide·intellij-idea