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

相关推荐
手握风云-1 小时前
Spring AI:让大模型住进 Spring 生态(三)
java·后端·spring
咸鱼2.02 小时前
【java入门到放弃】Dubbo
java·开发语言·dubbo
JAVA面经实录9178 小时前
Java企业级工程化·终极完整版背诵手册(无遗漏、全覆盖、面试+落地通用)
java·开发语言·面试
Flying pigs~~9 小时前
RAG智慧问答项目
数据库·人工智能·缓存·微调·知识库·rag
misL NITL10 小时前
mysql之如何获知版本
数据库·mysql
许彰午10 小时前
CacheSQL(二):主从复制——OpLog 环形缓冲区与故障自动恢复
java·数据库·缓存
2401_8323655211 小时前
JavaScript中rest参数(...args)取代arguments的优势
jvm·数据库·python
Bat U11 小时前
JavaEE|多线程初阶(七)
java·开发语言
2301_7796224111 小时前
Go语言怎么用信号量控制并发_Go语言semaphore信号量教程【入门】
jvm·数据库·python
2301_7662834411 小时前
c++如何将控制台输出保存到文件_cout重定向到txt【详解】
jvm·数据库·python