You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Introduction

  • The Agent Cluster brings fail-over capabilities and horizontal scalability to Agents.
  • FEATURE AVAILABILITY STARTING FROM RELEASE 2.2.0

Architecture

The architecture for Agent Clusters applies to the clustering of Agent Directors and of Subagents:

Agent Director

The Agent Director ships with an Integrated Subagent that is running inside the Director.

  • The Subagent is instructed by the active Director to execute tasks. The Director instance holding the active role can be the Subagent's Director or a second Director. 
  • It is an option to disable the Director's Subagent in order to have the Director perform orchestration only and not to execute jobs with its Subagent.

The Agent Director is contacted by the Controller for deployment of scheduling objects, for commands that change an order's state such as suspend, resume and cancel, and to report back execution results of JS7 - Workflow Instructions.

Director Journal

The Agent Director holds a journal to store

  • scheduling objects such as workflows and jobs that are deployed via a Controller,
  • events about JS7 - Order State Transitions and to store log output reported from Subagents executing jobs.

The journal is essential for restart capabilities of the Agent Director.

Director Cluster

The Agent Director can be operated as a Standalone instance and as a member in a Director Cluster of two Agent Directors.

In a Director Cluster at any point in time one Director holds the active role and the second Director holds the passive role.

If the Agent Director is operated as a cluster then the active Director synchronizes its journal with the standby Director. If both journals of active and standby Directors are in sync then a fail-over (automatically) or switch-over (caused by user intervention) can occur and Directors switch active and standby roles.

Subagent

Subagents come in two shapes: they ship with an Agent Director and they can be operated as Standalone instances.

  • Subagents are lightweight and do not operate a journal.
  • Subagents are deployed to any number of servers in a network.

Job Execution

Subagents execute jobs and report back execution results.

  • Subagents execute jobs on behalf of the active Agent Director.
  • They report back log output and execution results of jobs to the active Agent Director.
  • If a Subagent fails then the active Agent Director will hand-over the job execution request to a next Subagent.
  • A Subagent kills running jobs if the connection from the active Agent Director is lost or if it is instructed by the active Agent Director to suspend/kill or to cancel/kill an order.
    • This behavior is intended to prevent double job execution by more than one Subagent.
    • If the connection from the active Agent Director can be re-established within a given timeout then the Subagent continues to execute jobs.

Subagent Cluster

Subagents can be grouped to clusters.

  • A Subagent Cluster includes a Selection of Subagents and a Scheduling Mode:
    • The cluster can include a single Subagent, a number of Subagents or all Subagents.
    • The scheduling mode is one of
      • fixed priority: always use the first Subagent in the Cluster and switch to the next Subagent only if the first Subagent becomes unavailable.
      • round robin: execute each next job with the next Subagent to balance the number of jobs executed by each Subagent in the Cluster.
  • Any number of Subagent Clusters can be configured. They present a logical view on the way how a given number of Subagent co-operate for job execution.
    • The configuration of Subagent Clusters is performed with JOC Cockpit and is forwarded to the Controller and the active Agent Director.

Workflow Execution

A number of JS7 - Workflow Instructions, for example Retry, Try/Catch, Fork - are performed by 

Sharing of Duties

Sharing of Duties

  • JOC Cockpit holds the configuration for any number of
    • Standalone Controllers and Controller Clusters including
      • URLs of Controller instances
    • Standalone Agents and Agent Clusters including
      • Agent Director URLs and Subagent URLs
      • assignment of Subagents to an Agent Cluster
  • The Controller

The Controller holds the configuration







  • No labels