Architecture
Rumi Management has two architectural flows β one for command, control, and scripting, and one for telemetry. This page covers both in summary; the Deployment Lifecycle, Deployment Model, Command and Control, Scripting, and Telemetry Model pages cover each in depth.
Command, Control, and Scripting

Ad-hoc command-and-control (start, stop, thread dump, trace level changes, app-specific commands, β¦) and scripted deployments follow the same path:
Rumi Admin β Rumi Agent (REST) β Embedded Controller β Target Container
Inside each container, incoming commands are dispatched to:
Application logic β app-specific commands (e.g., order cancel, cache refresh).
Rumi Engine β engine commands (e.g., change trace level, stop).
JVM β JVM commands (e.g., thread dump, kill).
Host β host commands (e.g., clear memory cache).
Because both flows terminate at the Agent's REST API, any REST client β the Admin UI, a CI/CD pipeline, or a custom script β can issue commands or run deployment scripts.
Telemetry
Rumi Management observes running containers through three kinds of signals:
Telemetry β aggregated metrics from the container (JVM, host, engine, and application-specific counters, gauges, series, and records), carried in periodic heartbeats. Telemetry is forwarded through the Agent to a time-series database for dashboarding and alerting.
Lifecycle events β as-they-occur notifications of container, service, and bus-connection state changes. Lifecycle events are consumed by the Controller to build and maintain the deployment model; they are not re-emitted as a separate event stream.
Alerts β as-they-occur notifications of noteworthy conditions. Planned as an additional signal; not yet supported.

Each Rumi container runs a telemetry collector that aggregates:
Application-specific metrics β counters, gauges, series, and records from application logic.
Engine metrics β queue depths, latencies, and internal statistics from the Rumi Engine.
JVM metrics β heap, JIT, and runtime metrics.
Host metrics β disk and CPU metrics.
The aggregated telemetry is emitted from the container in each heartbeat. Heartbeats travel to the Rumi Agent over a direct TCP session or a pub-sub bus, depending on the Agent's telemetry mode. The Agent writes the telemetry to a time-series database (InfluxDB), and Rumi Monitor visualizes the stored data through dashboards.
Last updated