Engine Localization with Sharing

A company has two groups, one in New York and one in London. Each has a single middleware application that has a Driver that connects to its own Broker. Each group also has a set of CPUs that it expects to always be working on their own calculations. However, there are times when one group’s Broker is idle, so they are allowed to share with each other.

Brokers  Set up four Brokers, a regular and a failover for each group. Each regular Broker shares with the other regular Broker, plus its own failover Broker.
Drivers  Create two roles, one for each group. In each profile, set the Manager List value to the group’s Broker and its failover Broker. Assign the roles to the middleware application user.
Engines  Use the Home/Shared Engine Balancer. Set up two Engine Configurations, “London” and “New York,” that set the Engines’ homes to their respective Brokers.

In this scenario, the application always connects to its local Broker, unless it is down, in which case it moves to its failover. Whenever that Broker has pending requests, all of its Engines are always local. If the other group’s Broker is idle, or if it does not need all of its Engines, any of its idle Engines are routed to the Broker that needs it.