A configuration group provides a mechanism for ensuring consistent configuration among ATG server instances. At startup, instances that are members of a configuration group download group configuration properties from the group’s master server. At runtime, group members can periodically download updates that pertain to their group.
Note: Like other configuration changes, group configuration changes generally take effect only on instance startup; they have no effect on a running Nucleus component.
In order to join a group, an ATG instance must define itself as a group client or server by setting a ConfigurationClient
or a ConfigurationServer
component:
A
ConfigurationClient
component obtains its group configuration settings from an ATG server instance that is designated as the group master. Each/atg/dynamo/service/groupconfig/ConfigurationClient
component is an instance of this class:atg.service.configuration.group.ConfigurationClient
A
ConfigurationServer
component maintains group configuration settings and ensures that those settings are uniform among all group members. Each/atg/dynamo/service/groupconfig/ConfigurationServer
component is an instance of this class:atg.service.configuration.group.ConfigurationServer
One ConfigurationServer
is designated as the default group master. Changes to group settings must be set on the master ConfigurationServer
; it then distributes those changes to other ConfigurationServers
and ConfigurationClients
in the group.
A group can have one or more ConfigurationServers
. If the primary master fails, another ConfigurationServer
assumes the role of group master until the primary master resumes operation. The order of succession is established by the primary master and distributed to other ConfigurationServers
.
Note: An ATG instance that serves as a configuration server can also act as a configuration client, and typically does so.
Requirements
To use group configuration, the following requirements apply to each ATG server instance in the group:
The instance must be assembled with the
DafEar.Admin
module. Its/atg/dynamo/Configuration.adminPort
property must be set to the port where the HTTP server is listening and can service the Dynamo Administration UI (http://
host
:port
/dyn/admin/
).For each ATG server instance, set its Configuration Group Properties in the
Configuration.properties
file, as described later in this section.
Group Identifiers and Node Types
A configuration group is identified by its group name, where each ConfigurationClient
and ConfigurationServer
in the group is configured with the same Configuration.groupName
property. Settings that are specific to a group are known only to the member ATG instances. An ATG instance can belong to only one group at a time.
Note: A configuration group can overlap multiple ATG server clusters — for example, publishing and production clusters.
Within a group, ATG server types are differentiated through their node types. For example, a configuration group might contain these servers:
Commerce production
Commerce staging
Search Merchandising
Search servers
Asset management
In order to differentiate settings among server types, each server’s configuration client sets its Configuration.nodeType
property to a value that corresponds to its server type. Given the previous server types, you might set their respective Configuration.nodeType
properties as follows:
commerce-production
commerce-staging
search-merch
search
publishing
The following diagram shows how a configuration group might be composed: