The topology of the cluster is managed by the System Topology Registry.
Classical MediationZone Deployments
The System Topology Registry (STR) provides a central interface for managing the topology, through manual configuration or scripting.
Below are examples of tasks that can be performed in the STR:
- Creating and removing process configurations (pico instances)
- Updating container- and process attributes, e g system properties, JVM arguments, classpaths etc
- Viewing configuration, status, and resource consumption of processes
STR also brings the possibility to start and stop pico instances in any container via SSH, without the need for manually logging into each server host.
The well-defined interface for managing the system topology and controlling processes, in combination with scripted installations of containers, facilitate deployment of in highly automated environments.
Managing Processes
processes can be managed from a central point via text editors, a web GUI, or from the command line. The data format used is HOCON (Human-Optimized Config Notation), a relaxed variant of JSON. Compared to JSON, this format is more oriented for human/manual editing and supports comments.
The figure below illustrates configuration of an Execution Context in the System Administration GUI.
Creating Execution Context (EC) in System Administration GUI
The same task can be performed from the command line or in a shell script as in the example below.
$ mzsh topo set container:exec1/pico:ec2 ' { template:mz.standard-ec config { properties { httpd.port : 9092 } } }'
Viewing Runtime Information
The System Administration Interface can be used to view the complete system topology in a graph, or information about specific processes.
System Administration GUI - System Overview
The runtime information in the System Administration includes e g running status, JVM statistics, uptime, ports, etc.
System Administration GUI - Runtime
The runtime information can also be retrieved in strict JSON or HOCON format from the command line as in the example below.
$ mzsh topo get --format data-only container:main1/pico:platform { "_execution" : { "service-members" : [], "workflows" : [] }, "_loc" : "topo://container:main1/pico:platform", "_name" : "platform", "_ref" : "topo://container:main1/pico:platform", "_ref-parts" : { "cell" : "default", "container" : "main1", "group" : "default", "pico" : "platform" }, "_status" : { "config" : { "hash" : "21449f8e619f18030012f448419bab46", "state" : "in-sync" }, "jvm" : { "stats" : { "cpu" : { "percent" : 0.7685199975967407, "time" : 60870025000 }, "gc" : { "count" : 25, "time" : 1535 }, "memory" : { "committed" : 634912768, "max" : 954728448, "used" : 135749504 }, "system" : { "open-files" : 414 } } }, ...}
STR Replication
Changes to the STR are instantly replicated by the Platform process, ensuring that all containers have consistent and valid information.
STR Replication