Parallel Application (2 Hot Hot instance) off Same Queue

A strange request from our users where they want to have multiple instances of the same application; they want another VPN to be spun up for each instance and the same queue/subscription details on those VPN.

I have suggested:

for the two parallel instance of application (or any number >1)  the method to do it is parameter based startup.

Example you want 3 instances of the same app, in Hot Hot Hot mode.

In the configuration of the application startup, you would name the instance (example:  Blue, Green, Purple).

In the Solace queues, you would have queue q/a/b/c/green/events, q/a/b/c/blue/events, q/a/b/c/purple/events

Each of the queues would subscribe to the same topics to ensure same population

The consuming application upon startup would know whether its Blue, Green, or Purple and with that parameter it would appropriately subscribe to its designated queue.

Wondering if anyone else has a similar setup or request, and what they have done or what would be a best practice situation here

Answers

  • mstobo
    mstobo Member, Employee Posts: 26 Solace Employee
    edited September 2023 #2

    Hi @RunningRoach,

    It is a fairly common pattern to do what your client is asking with Solace. Think of a VPN as a namespace where you can have the same queues and topic names without stepping on each other. Depending on the protocol, you will provide the VPN name in the connection string, so you shouldn't need it in the queue name as you have above. You can use the exact same queue name for each VPN with the same topics mapped to it. The application with specify both the VPN name and the queue name when it connects. If isolation is what they require, then using the application per VPN also future proofs them should they decide to migrate to the cloud where each service is a VPN.