Recent Releases of spring-batch-db-cluster-partitioning: Database-driven clustering with heartbeats and failover for Spring Batch

spring-batch-db-cluster-partitioning: Database-driven clustering with heartbeats and failover for Spring Batch - v2.0.0 β€” Cluster Visibility & Core Module Refinement

πŸ”– Release v2.0.0 β€” Enhanced Observability & Module Refinement

This release introduces significant improvements to the Spring Batch DB Cluster Partitioning framework, focusing on module clarity, cluster visibility, and monitoring support.


βœ… What’s New

  • πŸ”„ Module Rename

    • Renamed core module and JAR to spring-batch-db-cluster-core for clarity.
  • πŸ“ˆ Actuator-Based Monitoring Endpoints

    • /actuator/health: Displays cluster-wide health status including node heartbeat.
    • /actuator/batch-cluster: Lists active nodes and their partition workloads.
    • /actuator/batch-cluster/{nodeId}: Shows execution details for a specific node.

πŸ“¦ Maven Dependency

```xml io.github.jchejarla spring-batch-db-cluster-core 2.0.0

- Java
Published by jchejarla 11 months ago

spring-batch-db-cluster-partitioning: Database-driven clustering with heartbeats and failover for Spring Batch - v1.0.1 – Package name refactoring + Load-Aware task assignment

Changed

  • Refactored Java package naming to align with published Maven groupId io.github.jchejarla (thanks @arvind-tech-ai for the suggestion)

Enhanced

  • Added live task count tracking per node in BATCH_NODES
  • Partition assignment logic now prioritizes nodes with fewer active tasks (improves load distribution and throughput)

- Java
Published by jchejarla 11 months ago

spring-batch-db-cluster-partitioning: Database-driven clustering with heartbeats and failover for Spring Batch -

πŸ“¦ v1.0.0 – First Stable Release of spring-batch-db-cluster-partitioning

This is the first official release of spring-batch-db-cluster-partitioning, a lightweight, database-driven solution to execute partitioned Spring Batch jobs across multiple nodes β€” without relying on message brokers or static node configuration.

πŸ”§ What It Does This library enables: - Cluster-wide coordination of partitioned steps in Spring Batch - Node registration, heartbeat tracking, and graceful failure detection via shared DB - Dynamic partition assignment to available nodes β€” no static mapping required - Built-in fault tolerance: If a node crashes, partitions are reassigned on the fly, if they are set to re-assignable

πŸ“ Core Features

  • Custom PartitionHandler and step execution manager
  • Pluggable coordination strategy using three tables:
    • BATCH_NODES
    • BATCH_JOB_COORDINATION
    • BATCH_PARTITIONS
  • Designed for horizontal scalability, Kubernetes-friendly setups, and stateless jobs

πŸ“‚ Included in this Release Core Java implementation of the coordination and partitioning logic

Sample configuration for integrating with Spring Batch job definitions

Initial setup scripts for coordination tables

Fully working prototype tested across multiple simulated nodes

πŸ“ˆ Roadmap - Enhanced Capability to scale to large number of nodes (tens of thousands of nodes, with internal table partitioning) - Dashboard or status endpoint for monitoring coordination state

πŸ› οΈ Who Should Use This - Engineers deploying large-scale batch jobs across cloud environments - Teams moving away from heavyweight messaging solutions - Developers looking for zero-message-broker, database-native step partitioning, to keep the configuration simple and easy debug.

πŸ’‘ Your feedback, issues, and contributions are welcome!

- Java
Published by jchejarla 12 months ago