One of the key decisions you will need to make when designing your IBM Integration Bus topology, is how you exploit the active/active and active/passive scale and HA features.

By implementing the WebSphere ESB golden topology previously, you have implicitly made a set of choices: The Integration flows themselves are deployed active/active across all cluster members, whereas the Messaging runtime (a mandatory component) is deployed active/passive – using a Database to hold state, which itself must be highly available.

This set of choices means that the scale characteristics of your WebSphere ESB environment benefit from active/active deployment across all physical/virtual machines, and all active instances benefit by being able to share a single set of persistent state. However, the High Availability characteristics of the WebSphere ESB golden topology are limited by the active/passive HA failover (unless reliance on the SIBus Messaging and DB layers have been completely eradicated from the environment).

As you consider a conversion to IBM Integration Bus, you have the opportunity to make your own choice over active/active and active/passive processing, based on your Scale and High Availability requirements and how much complexity you are willing to add to your environment and Integration logic. As we will discuss later, this choice can be made differently for different components – or even for different Integration flows.

Before we look at the options provided by IBM Integration Bus in detail, let us consider the fundamental differences between active/active and active/passive processing.

Scale High Availability Design Considerations
Active/Active All N instances contribute to the processing capacity of the system New requests can be serviced immediately after the planned or unplanned termination of an active instance.

Often referred to as continuous availability.

Each instance must be able to operate independently, without relying on the availability of any other instance in the environment.

The order of processing for two items of work cannot be guaranteed, as there are multiple instances that might perform each item of work

Active/Passive Only one of N instances contributes to the processing capacity of the system There is a failover period after the planned or unplanned termination of an active instance. This failover period commonly lasts for a small number of minutes, depending on the technology used. An infrastructure for HA failover must exist, that ensures only one instance is ever activated, as well as detecting when one instance fails to initiate the failover.

The active and the passive system must have identical copies of persistent data, such as persisted transaction state, and persisted messages. In IBM Integration Bus this is achieved by sharing a filesystem between the two machines.

2 comments on"Scalability and High Availability"

  1. Muhammad Ejaz August 20, 2019

    Hi ! I have a question in Active / Active model. .. In case of Soap based and synced message flow deployed on both NODES then how can it be managed as both nodes are ready to respond against soap request. I have experience that response against soap request in Active / Active model does not work properly. please guide.

    • BenThompsonIBM August 20, 2019

      Hi Muhammad,

      It’s possible to deploy functionally equivalent SOAPInput driven message flows on more than one active integration node, and use a Load Balancing component (outside of IIB) to distribute workload between the flows. This is a common pattern used by many of our customers. It is also possible to use the IIB integration node-wide listener to expose flows deployed to multiple integration servers (owned by the same integration node) on the same port but different URL fragments. We also have the HTTP Proxy servlet available which might help your use case … you can read more about that feature here:

      Of course any situation where you experience product behavior that you feel could be defective (I say this because of your comment that the Active / Active model “does not work properly”) then you should absolutely raise a support ticket, as an exchange of comments on this article thread isn’t the best way for us to strike up a detailed dialog / problem diagnosis.

      Best Regards,

Join The Discussion

Your email address will not be published. Required fields are marked *