Topology Automation
The System Topology Registry (STR) provides a central interface for managing the Mediationzone 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 MediationZone in highly automated environments.
Managing Processes
MediationZone processes can be managed from a central point via text editors, a UI, 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 Pico Management UI.
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 Pico Management UI can be used to view a list of the complete system topology and information about specific processes.
Pico Management 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.