Redundancy Configuration
The Micro-Integration has three leader election modes for redundancy:
| Leader Election Mode | Description |
|---|---|
|
Standalone (Default) |
A single instance of a Micro-Integration without any leader election capabilities. |
|
Active-Active |
A participant in a cluster of Micro-Integration instances where all instances are active. |
|
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_active | active_standby)
The Micro-Integration for SFTP does not support Active-Active leader election.
Leader Election Modes: Standalone and Active-Active
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 the Micro-Integration is active or standby, it 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 |
|---|---|---|
|
|
Read (HTTP |
Request: None. Response:
{
"mode": {
"type": "(standalone |
active_active |
active_standby)",
"state": "(active | standby)",
"source": {
"queue": "<management-queue-name>",
"host": "<management-host>",
"msgVpn": "<management-vpn>"
}
}
}
The |