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集群状态

相关推荐
IvorySQL10 分钟前
谁动了我的查询结果?PostgreSQL 联表加锁的隐藏陷阱
数据库·postgresql·开源
Assby2 小时前
从洋葱模型看Java与Go的设计哲学:为什么它们如此不同?
java·后端·架构
漫霂2 小时前
基于Stream消息队列的异步秒杀业务
redis
爱可生开源社区3 小时前
🧪 你的大模型实验室开张啦!亲手测出最懂你 SQL 的 AI
数据库·sql·llm
belhomme3 小时前
(面试题)Netty 线程模型
java·面试·netty
曲幽4 小时前
FastAPI + PostgreSQL 实战:给应用装上“缓存”和“日志”翅膀
redis·python·elasticsearch·postgresql·logging·fastapi·web·es·fastapi-cache
赵渝强老师6 小时前
【赵渝强老师】使用TiSpark在Spark中访问TiDB
数据库·mysql·tidb·国产数据库
NE_STOP7 小时前
MyBatis-plus进阶之映射与条件构造器
java
Qinana8 小时前
第一次用向量数据库!手搓《天龙八部》RAG助手,让AI真正“懂”你
前端·数据库·后端