Design and Implementation of Instance Configuration Management in xManager
This article explains how xManager implements comprehensive instance configuration management for big‑data services, covering configuration groups, versioning, node‑level differentiation, database schema, installation workflow, group creation, configuration changes, version switching, and deployment scripts.
Instance configuration management in xManager provides essential functions such as configuration grouping, change tracking, distribution, and version evolution, which are core requirements for any big‑data operations platform.
The article uses the X‑SCHEDULER service as an example to detail the backend design and implementation of instance configuration management.
Key concepts include:
Configuration version: a globally incrementing version number representing a complete set of configuration files for an instance.
Configuration group: a logical subdivision of an instance’s nodes to support node‑specific configurations (e.g., different memory settings).
All configuration groups and their version histories are stored in xm_config_group, with related tables xm_service_config, xm_service_config_instance, and xm_node_component holding metadata, file templates, actual file contents, and node‑component mappings.
During initial service installation, xManager creates a default configuration group (id 1, name default) and version 1, persists configuration data, generates real configuration files, packages them into conf.tar.gz, and dispatches installation jobs to the assigned nodes.
When a new configuration group is added, xManager copies the relevant configuration files from the previous group, assigns a new version, and updates node assignments accordingly.
Configuration changes are saved as new versions in xm_config_group (e.g., version 4) while the previous version remains marked as the current one until the user explicitly switches versions via the UI.
Version switching updates the is_current_version flag, regenerates the configuration package for the selected version, and triggers distribution jobs to the nodes in the affected group.
The deployment script accepts four parameters (installation path, configuration package URL, service name, component name) and is used both for initial installation and subsequent configuration distribution.
In summary, xManager’s configuration management design leverages a set of relational tables to track groups, versions, and node mappings, enabling flexible, versioned, and node‑specific configuration deployment for big‑data services.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
360 Tech Engineering
Official tech channel of 360, building the most professional technology aggregation platform for the brand.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
