Current Architecture

 

Architecture: Supervisor and Master / Universal Agent Cluster

Explanation of Drawing

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

 

 

 

 

 

 

Benefits of the current Architecture

Drawbacks 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

Master

  • depends on the availability of its database
    • 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

 

 

  • No labels