Hello all
We operate on two datacentres that are 1000+kms apart. Our configuration of the systems are
Data Centre1 running:
Application 1
Integration Server 1
Universal Messaging 1 (3 nodes clustered)
Data Centre 2 running:
Application 2
Integration Server 2
Universal Messaging 2 (having 3 nodes clustered)
Please note that the UM1 (UM in data centre 1) and UM2 (UM in data centre 2) are not clustered across the data centres (DC) due to the limitation that the latency between these data centres is more than 10 ms (18 ms). SoftwareAG’s recommendation is to not cluster the UMs across data centre if the latency is greater than 10 ms.
Current setup:
Application1 in DC1 is configured to UM 1
Application 2 in DC2 is configured to UM2
Requirement:
Application 2 runs active-passive i.e. Application 2 in DC2 is active and the same application 2 is passive in DC1.
But the application 2 can be activated in DC1 anytime (making the application 2 in DC2 passive)
The queue / topic definitions or configurations are identical in UM1 & UM2
Problem Statement:
As stated in ‘current setup’, Application 1 has to publish a file to Application 2 via UM. In the above scenario: Application 1 doesnt know if the application 2 is active in data centre 1 or data centre 2. It publishes the message to UM in DC1. Application 2 is subscribing to this message in UM in data centre 2 and not on data centre 1. So the message is published to UM1 while the subscribing application is looking for the message in UM2.
I cannot hardcode Application 1 to always publish the message to UM2 because the application 2 can either sit on DC1 or DC2. We dont want the application to get tightly coupled.
How can i overcome this problem? Can application 2 listen to the same queue in UM1 and UM2 (Since the queue definitions are identical in UM1 and UM2)?
Please let me know your thoughts.
Regards,
Satheesh