Page History
...
The Agent Cluster brings horizontal scalability and fail-over capabilities for Agents without any a single point of failure.
Use of anAgent Clusteris subject to the JS7 - License.
...
The Director Agent can be operated as a single instance and from a an active-passive Director Agent Cluster of two Director Agent instances.
...
If the Director Agent is operated as a cluster then the active instance synchronizes its journal with the standby instance. If the journals of both active and standby Director Agent instances are in sync then in case of fail-over (automatically) or switch-over (by user intervention) the Director Agent instances will switch the active rolesrole.
During fail-over and switch-over of Director Agent instances any jobs running on related Subagents are continued.
...
- A Subagent Cluster is specified by a Selection and Scheduling Mode:
- The Subagent cluster can include a single Subagent, a number of Subagents or all Subagents.
- The Scheduling Mode is one of fixed-priority or , round-robin or metrics-based.
- Any number of Subagent Clusters can be configured reusing the same Subagents.
...
Graphviz | ||
---|---|---|
| ||
digraph { compound=true; rankdir=LR; JOC [shape="rectangle",label="JOC Cockpit",style="filled",fillcolor="lightskyblue",fontname="Arial",fontsize="10pt"] Controller [shape="rectangle",label="Controller\nStandalone / Cluster",style="filled",fillcolor="lightskyblue",fontname="Arial",fontsize="10pt"] Workflow [shape="ellipse",label="Workflow",style="filled",fillcolor="darkorange1",fontname="Arial",fontsize="10pt"]; Job1 [shape="ellipse",label="Job 1",style="filled",fillcolor="orange1",fontname="Arial",fontsize="10pt"]; Job2 [shape="ellipse",label="Job 2",style="filled",fillcolor="orange1",fontname="Arial",fontsize="10pt"]; Job3 [shape="ellipse",label="Job 3",style="filled",fillcolor="orange1",fontname="Arial",fontsize="10pt"]; Subagent1_1Job4 [shape="rectangleellipse",label="SubagentJob 14",style="filled",fillcolor="darkolivegreen2orange1",fontname="Arial",fontsize="10pt"]; Subagent1_21 [shape="rectangle",label="Subagent 21",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"]; Subagent2Subagent1_12 [shape="rectangle",label="Subagent 12",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"]; Subagent2_21 [shape="rectangle",label="Subagent 21",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"]; Subagent3Subagent2_12 [shape="rectangle",label="Subagent 12",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"]; Subagent3_21 [shape="rectangle",label="Subagent 21",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"]; Subagent3_32 [shape="rectangle",label="Subagent 32",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"]; Subagent3Subagent4_41 [shape="rectangle",label="Subagent 41",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"]; { rank = same; JOC -> Controller -> Workflow } Workflow -> Job1; Workflow -> Job2; Subagent4_2 [shape="rectangle",label="Subagent 2",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"]; Subagent4_3 [shape="rectangle",label="Subagent 3",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"]; Subagent4_4 [shape="rectangle",label="Subagent 4",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"]; { rank = same; JOC -> Controller -> Workflow } Workflow -> Job3Job1; Job1Workflow -> Subagent1_Job2; Workflow -> Job3; Workflow -> Job4; Job1 -> Subagent1_1 [lhead=cluster_subagent_passive]; Job2 -> Subagent2_1 [lhead=cluster_subagent_active]; Job3 -> Subagent3_1 [lhead=cluster_subagent_metrics]; Job4 -> Subagent4_1 [lhead=cluster_subagent_selection]; subgraph cluster_subagent_passive { label="Subagent Cluster 1"; Subagent1_1 -> Subagent1_2 [label=" fixed-priority ",fontname="Arial",fontsize="10pt"]; } subgraph cluster_subagent_active { label="Subagent Cluster 2"; Subagent2_1 -> Subagent2_2 [label=" round-robin ",fontname="Arial",fontsize="10pt"]; Subagent2_2 -> Subagent2_1; } subgraph cluster_subagent_selectionmetrics { label="Subagent Cluster 3"; Subagent3_1 -> Subagent3_2; Subagent3_2 -> Subagent3_31 [label=" round-robin metrics-based ",fontname="Arial",fontsize="10pt"]; Subagent3_3 Subagent3_1 -> Subagent3_42; } subgraph Subagent3_4 -> Subagent3_1; } } |
Subagent Cluster
Jobs in workflows are assigned a Subagent Cluster that includes a Selection and Scheduling Mode of Subagents:
cluster_subagent_selection {
label="Subagent Cluster 4";
Subagent4_1 -> Subagent4_2;
Subagent4_2 -> Subagent4_3;
Subagent4_3 -> Subagent4_4;
Subagent4_4 -> Subagent4_1 [label=" round-robin ",fontname="Arial",fontsize="10pt"];
}
} |
Subagent Cluster
Jobs in workflows are assigned a Subagent Cluster that includes a Selection and Scheduling Mode of Subagents:
- Subagent Clusters present a logical view of the way a given number of Subagents co-operate for job execution.
- Any number of Subagent Clusters can be configured using the same Subagents.
- The Selection makes use of one or more Subagents.
- Subagents are used for job execution according to their ordering in the Selection.
- A Subagent can be a member in one or more Subagent Clusters.
- The configuration of Subagent Clusters is performed using the JOC Cockpit and is forwarded to the Controller and to the active Director Agent.
- The Scheduling Mode is one of:
- fixed-priority: execute jobs with the first Subagent and switch to the next Subagent only if the first Subagent becomes unavailable (active-passive clustering).
- For details see JS7 - Agent Cluster - Active-Passive Subagent Cluster.
- round-robin: execute each next job on the next Subagent (active-active clustering).
- For details see JS7 - Agent Cluster - Active-Active Subagent Cluster.
- metrics-based: execute each next job on the Subagent that best matches metrics such as number of parallel tasks, CPU and memory consumption.
- For dtails see JS7 - Agent Cluster - Metrics-based Subagent Cluster
- fixed-priority: execute jobs with the first Subagent and switch to the next Subagent only if the first Subagent becomes unavailable (active-passive clustering).
- Subagent Clusters present a logical view of the way a given number of Subagents co-operate for job execution.
- Any number of Subagent Clusters can be configured using the same Subagents.
- The Selection makes use of one or more Subagents.
- Subagents are used for job execution according to their ordering in the Selection.
- A Subagent can be a member in one or more Subagent Clusters.
- The configuration of Subagent Clusters is performed using the JOC Cockpit and is forwarded to the Controller and to the active Director Agent.
- The Scheduling Mode is one of:
- fixed-priority: execute jobs with the first Subagent and switch to the next Subagent only if the first Subagent becomes unavailable (active-passive clustering).
- round-robin: execute each next job on the next Subagent (active-active clustering)
- .
Network Connections
Network connections use the HTTP protocol and can be secured using TLS/SSL certificates.
...
- JS7 - Management of Agent Clusters
- JS7 - System Architecture System ArchitectureJS7 - Controller Cluster
- JS7 - Controller Cluster
- JS7 - JOC Cockpit ClusterJS7 - Implementation Architecture
- Fail-over and Switch-over Scenarios
...