Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Current Architecture

Table of Contents

Architecture: Supervisor and Master / Universal Agent Cluster

 

Master Cluster

  • Master Cluster members use the same database
  • Instances operate either in active-passive mode or in active-active mode
  • Cluster members in active-active mode share the workload of local jobs
  • Cluster members can use Agents to execute jobs on remote servers

Universal Agent Cluster

  • Each Agent is addressed by a Master configuration
  • A number of Agents is grouped in a Cluster for:
    • fixed priority scheduling
    • round-robin scheduling

Job Execution

  • Jobs are executed locally per JobScheduler Master
  • Jobs are executed locally per JobScheduler Agent
  • No central resources required for job execution
Image Removed

 

Image Added

 

 

 

Benefits of the current Architecture

 

 

Supervisor

  • is an optional component for a central point of configuration should a number of JobScheduler Master instances be operated in parallel

Master

  • controls the job plan (calendar), what to run, when and where
  • can be operated in a cluster with active-passive and active-active mode
  • controls a number of Agents

Universal Agent

  • is operated with zero configuration, easy deployment and a perfectly small footprint, e.g. runs on a Raspberry Pi with Java SME
  • is available for clustering with Master configuration and supports
    • fixed priority scheduling
    • round-robin scheduling
  • can be accessed by a number of Master instances
  • provides resilience features for reconciliation after Master connection loss

 

 

 

Drawbacks of the current Architecture

 

 

Master

  • Benefits of the current Architecture

    • high-availability stacks for database products are not open source
    • commercial high-availability stacks are costly, they often exceed the cost of a JobScheduler license
  • requires clustering to prevent a single point of failure
    • active-passive clustering requires an additional machine for backup with resources that remain unused during normal operation
    • active-active clustering is used for local execution of jobs with a Master, it is irrelevant for execution of jobs with Agents

Universal Agent

  • is completely dependent from its Master, it cannot act autonomously
  • with the connection between Master and database or Master and Agent being lost then no jobs are executed on an Agent
  • job dependencies are resolved by the Master only, therefore availability and frequent traffic between Master and Agent are required