Replication
An AMPS replication target is defined within the Replication
section of an AMPS configuration file. Within the Replication
section, there are one or more Destination
sections, each specifying a unique replication target.
Replication is used to distribute data, including for failover and high availability purposes. For a discussion of replication in general, see the Replicating Messages Between Instances section of the AMPS User Guide. The Highly Available AMPS Installations section describes how to use the features of AMPS, including replication, to create highly-available AMPS installations.
Configuring Outgoing Replication
The following table contains a listing of the parameters for the Destination
section in the Replication
section of an AMPS configuration file.
Each individual Destination
configures an outgoing replication connection and message flow from this instance of AMPS.
This section describes configuring an instance as a replication source, that is, as an instance that provides messages to another instance.
Configuring an instance to receive replication involves creating a Transport
that accepts replication connections, in the same way that configuring an instance to receive application connections involves creating one or more Transport
elements to receive incoming data from applications. See the Replicating Messages Between Instances section of the AMPS User Guide and the Transports section of this guide for details.
Element | Description |
| Required parent tag, which defines a unique replication target. |
| Defines whether the destination is considered when determining if a message is safely replicated and fully persisted.
There is no other behavioral difference between However, at any given point in time, a |
| The message type, network location, and connection details for making an outgoing connection to replicate messages.
AMPS supports multiple To provide failover, use multiple |
| The group that the downstream destination is a member of. The There is no built in default for this value. AMPS requires that a destination have a If a |
| The name of the destination. This name appears in the AMPS logs when AMPS logs a message about this destination. The 60East recommends setting the For example, if you have three servers in the There is no default for this value. If a |
| Defines a topic.
A |
| Specifies source instances to pass through to this destination. The value of this element is a regular expression which is matched against the group name of the instance that sent the replication message to this instance. When the regular expression matches, the replication message is eligible for passthrough, and will be sent to the destination if the For installations that involve more than two AMPS instances, or installations that use queues, a Using a regular expression that matches all groups (such as Default: There is no default for this value. If no value is configured, then only messages published directly to this instance from an application will be replicated. |
| Specifies whether to use compression for this destination. When set to Default: |
| Specifies the library to use for compression for this destination. This option has no effect unless the Supported values for this release are Default: |
| Specifies the interval to use for conflating acknowledgment messages from this destination. This value must be an interval of less than 1 second. See the AMPS User Guide chapter on acknowledgment messages for details on this setting. Default: |
| Specifies source instances to pass through to this destination while replication is in the process of resynchronizing after a connection is made. The value of this element is a regular expression which is matched against the group name of the instance that sent the replication message to this instance. When the regular expression matches, the replication message is eligible for passthrough, and will be sent to the destination if the When present, this value is used during resynchronization instead of the This element is not required in most replication topologies. However, it can be useful to prevent gaps in replication during failover for topologies that intentionally rely on incomplete replication along certain paths. (Although a topology that does not fully replicate is not recommended, using this configuration item can help reduce the risk of missing messages in a topology that does not replicate messages along all paths that reach an instance that must receive the message). Default: There is no default for this value. If no value is configured, the |
Transports in Destinations
An outgoing Destination
uses one or more Transport
elements to specify how the instance will make an outgoing connection to the remote instance of AMPS.
The following table describes the configuration available for a Transport
in a Replication/Destination
.
Element | Description |
---|---|
| Specifies the type of connection to make to the destination.
The |
| A Transport for a replication destination can contain one or more |
| A list of intervals that specifies how long AMPS will attempt to connect to a given |
| A
If this element is not specified, AMPS will prefer IPv4 name resolution by default. All of the |
| A All of the |
| A All of the |
| A All of the |
(required if | A |
| A |
(optional, only supported if | A |
(optional, only supported if | A |
(optional, one of | When |
(optional, one of | When |
Topics in Destinations
A replication destination can contain any number of Topic
definition elements. For simplicity in working with the configuration file, 60East recommends using a few Topic
elements with regular expression patterns over large numbers of individual topic declarations.
When a Destination
contains multiple Topic
elements, messages that match any of the Topic
elements will be replicated. When matching a Topic
element, literal (non-regular expression) topic names take priority over regular expression topic names.
Element | Description |
| The message type of the topic or topics to replicate. |
| The name of the topic to replicate. The When Defaults to the regular expression |
| A content filter to apply to the topics. When present, only messages that match the filter are replicated. This filter follows the standard AMPS filter syntax. |
| The set of configuration checks to validate for this topic. See Replication Validation and the discussion in the AMPS User Guide for details. Default: All validation options listed below are included by default. |
| The set of configuration checks to exclude for this topic. If the same check appears in both Default: None of the validation options listed below are excluded by default. |
Sample Replication Configuration
This section shows a sample that configures an AMPS instance to provide messages to two downstream destinations. Notice that this sample does not configure the AMPS instance to receive replication messages. Configuring an instance to receive replication is done in the Transports
configuration for the instance.
Last updated