Terracotta/Quartz 集成带来了基于内存集群的分布式任务调度功能

  • Srini Penchikala
  • 丁雪丰

2009 年 12 月 16 日

话题:JavaDevOps语言 & 开发架构文化 & 方法

TerracottaQuartz的集成产品为企业级 Java 应用程序带来了基于内存集群的分布式任务调度与工作负载管理功能。Terracotta 最近宣布收购了开源的任务调度软件 Quartz,并发布了新产品。相对于使用中心数据库来进行任务协调及分布式工作负载管理的传统解决方案,新产品为开发者提供了带集群节点感知的任务调度特性。

Quartz 实现了新的构建及测试基础设施,其中使用了Maven和持续集成工具Hudson。这次的改动中重新调整了源代码及非代码资源的组织结构,将它们放入 Maven 的常规目录结构中;将部分代码分离进 Maven 模块里,以便能够有条件地进行模块构建。

本次还提供了新的精简版集群 Quartz,该产品名为Terracottra Quartz EX,为 Quartz 提供了新的 Terracotta 任务存储能力(即 Terracotta Job Store for Quartz),针对以非集群方式运行应用程序的 Quartz 用户,还提供了跨节点任务调度功能。对于正使用关系型数据库作为中心任务存储器(例如 Oracle Job Store)的集群用户,新的任务存储能力提供了脱离关系型数据库实现集群解决方案的方法。新产品的 beta 包中含有最新的 Quartz(1.7.0)和 Terracotta Job Store for Quartz 的精简版。

要从非集群的 Quartz 切换到集群版本,只需将新的 Terracotta Job Store JAR 文件添加到应用程序的 CLASSPATH 中,修改配置指向运行中的 Terracotta 服务器矩阵就可以了。此刻,所有的任务都会被持久化并保证有高可用性。该实现依赖于 Terracotta 的锁管理器和 HA 平台,无需数据库。

Quartz 依然是一个遵循Apache 2协议的开源产品。考虑到 Terracotta 和 Quartz 产品即将拥有的特性和未来发展线路图,Quartz 框架在管理及操作方面会有所增强。Quartz 将提供不依赖于数据库的任务管理服务,开发者能够调度、可视化任务,并能暂停、重启及取消任务。Quartz 也将进一步集成进 Terracotta 解决方案的全套产品中。

查看英文原文:Terracotta/Quartz Integration Offers an In-Memory Cluster Based Distributed Job Scheduling

JavaDevOps语言 & 开发架构文化 & 方法