Redundancy Configuration

The Micro-Integration has two leader election modes for redundancy:

Leader Election Mode Description

Standalone (Default)

A single instance of a Micro-Integration without any leader election capabilities.

Active-Standby

A participant in a cluster of Micro-Integration instances where only one instance is active (i.e. the leader), and the others are standby.

Operators can configure the leader election mode by setting the following configuration:

solace.connector.management.leader-election.mode
=(standalone | active_standby)

Leader Election Modes: Standalone

When the Micro-Integration starts, all enabled workflows start at the same time. The Micro-Integration itself is always considered active.

Leader Election Mode: Active-Standby

If the Micro-Integration is in the active-standby mode, a Solace management session and management queue must be configured as follows:

solace.connector.leader-election.mode=active_standby

# Management session
# Exact same interface as solace.java.*
solace.connector.management.session.host=<management-host>
solace.connector.management.session.msgVpn=<management-vpn>
solace.connector.management.session.client-username=<client-username>
solace.connector.management.session.client-password=<client-password>
solace.connector.management.session.<other-property-name>=<value>

# Management queue name accessible by the management session
# Must have exclusive access type
solace.connector.management.queue=<management-queue-name>

To determine whether it is active or standby, the Micro-Integration creates a flow to the management queue. If this flow is active, the Micro-Integration’s state is active and it will start its enabled workflows. If this flow is inactive, the Micro-Integration’s state is standby and it will stop its enabled workflows.

At a macro level for a cluster of Micro-Integrations, failover only happens when there are infrastructure failures (for example, the JVM goes down or networking failures to the management queue occur).

If a workflow fails to start or stop during failover, it will retry up to some maximum defined by the configuration option, solace.connector.management.leader-election.fail-over.max-attempts.

During failover, the Micro-Integration attempts to start or stop all enabled workflows. After an attempt has been made to start or stop each workflow, the Micro-Integration transitions to the active/standby mode regardless of the status of the workflows.

Leader Election Management Endpoint

A custom leaderelection management endpoint was provided using Spring Actuator.

Operators can navigate to the Micro-Integration’s leaderelection management endpoint to view its leader election status.

Endpoint Operation Payloads

/leaderelection

Read

(HTTP GET)

Request: None.

Response:

{
  "mode": {
    "type": "(standalone | active_standby)",
    "state": "(active | standby)",
    "source": {
      "queue": "<management-queue-name>",
      "host": "<management-host>",
      "msgVpn": "<management-vpn>"   
    }
  }
}

The type and state objects always appear in the response, while source only appears in the response when the response for type is active_standby.