For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

Telemetry flow from container to dashboards.

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