Load Balancing and Redundancy
BridgeWorX64 has introduced load balancing. Multiple BridgeWorX64 servers can work together to execute transactions, sharing the load between servers and providing a measure of redundancy if a server goes offline.
Each BridgeWorX64 machine may run a scheduler and an engine. The schedulers will keep track of the queue of transactions that need to be executed and dispatch them among the running engines. The schedulers keep track of which engines are online and running. If one engine fails, the scheduler will dispatch transactions to the remaining engines.
Systems that should run as a scheduler should run the ICONICS BridgeWorX64 Scheduling Service. Systems that should run as an engine should run the ICONICS BridgeWorX64 Point Manager. Note that the stoplight in Workbench controls both services, but they can be separately controlled through the Windows Services control panel. If you would like to prevent a service from accidentally being started with the stoplight, set its startup type to Disabled in Windows Services or right-click on your project in Workbench, select Configure Services, and set the Start Mode from there.
For redundancy purposes, multiple schedulers can be configured, though only one scheduler will be active at a time. The standby schedulers are prepared to become active if the active scheduler goes offline.
BridgeWorX64 servers running redundantly should share the same configuration database. In Workbench, expand Bridging > Transactions and edit your configuration. In the Scheduling section, set the Scheduling Mode to Distributed Load-Balancing Schedulers Network. For Scheduling Nodes, enter one or more machines (IP address or name) to use as scheduling nodes.
If a BridgeWorX64 system fails while the engine is executing a transaction the scheduler can re-submit the transaction to another running engine (distributed recovery) or let the local BridgeWorX64 engine attempt recovery by itself (local recovery). The recovery options are set on a per-transaction basis. In Workbench, expand Bridging > Transactions > your configuration, and edit your transaction. In the Advanced Settings section, choose either Local Recovery or Distributed Recovery.
Note that interrupted transactions can either be restarted from the beginning or not recovered at all. BridgeWorX64 is not able to resume the transaction where it left off.
See Also: