Skip to content
Firefly scheduler architecture map

Java 21 scheduler / UTC cursor / Netty executor / JDBC HA

Firefly

一个轻量级、边界清晰的定时调度服务。它把任务定义、调度游标、执行器连接、分片租约和运维 API 拆成可理解的模块,让调度系统在正确的时间点亮正确的任务。

Java 21纯 Java 调度核心IANA ZoneId任务级时区语义JDBC HAlease + fencing tokenAdmin API独立控制台和 JSON API

为调度中心而生,也适合嵌入式集成

Firefly 可以作为业务进程内的轻量调度器,也可以作为独立调度中心运行。核心模块不绑定 Spring、HTTP、数据库或特定通信协议,外部能力通过 integration、transport、store 和 plugin 自然扩展。

core

调度语义先稳定

cron、fixed-rate、misfire、并发策略、任务级时区都放在纯 Java core 中,减少运行时框架对语义的影响。

transport

远程执行器主动连接

业务服务通过 Netty 主动注册到 gateway,不需要业务侧暴露公网端口,适合微服务和容器环境。

store

JDBC 作为集群事实源

任务定义、运行游标、shard lease、execution 和 outbox 都可落库,支持节点重启、接管和审计。

从本地运行到集群部署,路径保持一致

本地可以用 memory 或 H2 快速验证;生产可以切换到 PostgreSQL 和 MySQL JDBC 存储,并按 api、gateway、scheduler 三类角色拆分节点。

.\gradlew.bat :server:launcher:run.\gradlew.bat :server:launcher:run --args="--firefly.config.profile=h2"Admin UI: http://127.0.0.1:9720Admin API: http://127.0.0.1:9710Metrics: http://127.0.0.1:9711/metrics

为什么选 Firefly

时间正确性优先

任务显式声明 IANA ZoneId,运行态统一使用 UTC Instant,避免默认时区和 DST 规则把任务悄悄带偏。

核心克制

scheduler-core 不依赖 Web 框架、IOC、数据库或监控系统,集成层可以替换,调度语义保持干净。

运维可观测

Admin UI、Admin HTTP API、Prometheus 指标和审计日志形成独立运维面,方便查看任务、节点、执行器和插件状态。

和同类产品怎么选

Firefly 不追求覆盖所有工作流场景,它更适合 Java 业务系统里的轻量调度中心、远程执行器管理、任务级时区正确性和可演进的模块边界。

维度Firefly传统任务调度平台工作流编排系统
定位轻量任务调度服务偏运维平台和任务管理复杂 DAG 和数据流编排
集成方式嵌入式、Spring Boot、独立 Server、远程 Executor通常以中心服务和执行器 Agent 为主需要按工作流模型改造任务
核心边界纯 Java core,插件和传输层独立平台能力与核心调度常耦合调度、依赖、状态机深度绑定

开始把任务交给 Firefly

先跑通本地 Server 和 Admin UI,再接入 Spring Boot 或 Netty 远程执行器。

Released under the Apache-2.0 License.