We have a use case where we have 2 data centers with guaranteed messaging , currently we want HA hence both data centers are active all the time,
so we have
DC1.VPN1 with Q1 that is consumed by Client 1 DC2.VPN2 with Q2 that is consumed by Client 2 The publishing of events happen either in DC1.VPN1 or DC2.VPN2 based on load / route etc,
now with this setup in place we recently had an issue where Client 2 in DC2 was down for sometime and hence the DC2.Q2 became full and this caused some major prod issue.
To fix this we have planned to have Client 1 and Client 2 directly connect to both VPN1 and VPN2 so that even if one of the Client is down the other client can still be able to consume the events.
Q1 and Q2 have non exclusive access hence will serve both clients in round robin
Client1 —> DC1.VPN1 → Q1
±–> DC2.VPN2 → Q2
Client 2 —> DC2.VPN2 → Q2
±–> DC1.VPN1 → Q1
Please let me know if this approach is recommended as it seems to manage the routing/handling outside solace. Also please let me know if there is a better solution to do the same.
thanks
Daniel