定时任务是如何在 Nacos 中调度的?使用了哪些技术?

在这里插入图片描述这个题有一定的陷阱性,大家千万不要掉进去
Nacos 本身不是一个通用的分布式任务调度平台(像 XXL-Job, ElasticJob, Quartz 等),它不提供给对外的调度任务。

Nacos 作为一个基于 Java(尤其是大量使用 Spring Boot)构建的系统,其内部的定时任务调度主要依赖以下 Java 和 Spring 的标准技术:

  1. java.util.concurrent.ScheduledExecutorService:

    • 是什么: 这是 Java 标准库 java.util.concurrent (JUC) 包提供的核心接口,用于在给定的延迟后运行命令,或者周期性地执行命令。它是构建更高级调度功能的基础。
    • 如何使用: Nacos 的许多底层或核心模块会直接使用 ScheduledExecutorService。通过 Executors.newScheduledThreadPool() 创建一个线程池,然后调用其方法:
      • schedule(Runnable command, long delay, TimeUnit unit): 在指定延迟后执行一次任务。
      • scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit): 在初始延迟后开始执行任务,并以固定的速率(period)重复执行。如果某次任务执行时间超过 period,下一次任务会在上一次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰糖心书房

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值