Steve, Thanks for the reply. Let me try to answer your questions in-line.
> I'd like to clarify a few things that are not clear to me from your > message. > > - Is this a reference to ActiveMQ broker network? I'm guessing form the > terminology and port numbers that it is. > That's correct. Camel is our legacy ActiveMQ implementation. > - Is there a way you could assign the "old" names (possibly as secondary > names) to the new hosts when you upgrade hardware? > We *could* retain the existing names if we upgrade one server pair at a time and upgrade the servers in place. As the hardware is nearing end of warranty, however, there's momentum in favor of rebuilding on new hardware, which will likely have a new host name. > - I'm not aware of Camel having built-in clustering and load balancing - > do you mean something else? > I meant what's described in http://camel.apache.org/load-balancer.html, which isn't quite the same as how we're using the F5. Thanks again, Paul > As for your "hide it behind a load balancer or VIP" idea, yes, that could > work. I have a system deployed that does just that, in OpenShift using > haproxy to balance over the broker instances. > > Please reply with more info if I've misunderstood your > questions/statements. > > -Steve > > > -----Original Message----- > > From: Paul Mena [mailto:pm...@constantcontact.com] > > Sent: Wednesday, January 24, 2018 2:28 PM > > To: users@camel.apache.org > > Subject: virtual connections > > > > In my workplace's production Camel environment, we utilize 3 master-slave > > pairs running Camel version 2.9.2. Producers and Consumers reference > these > > servers by hardcoded hostname in > > > > consumer-camel-context.xml and producer-camel-context.xml. An example > > the latter might be: > > > > > > <property name="brokerURL" value="failover:(tcp:// > > camel01.domain.net:61616?keepAlive=true&connectionTimeout=200,tc > > p://camel02.domain.net:61616?keepAlive=true&connectionTimeout=2 > > 00,tcp://camel03.domain.net:61616?keepAlive=true&connectionTimeo > > ut=200,tcp://camel04.domain.net:61616 > > ? > > > > keepAlive=true&connectionTimeout=200,tcp:// > > camel05.domain.net:61616?keepAlive=true&connectionTimeout=200,tc > > p://camel06.domain.net:61616?keepAlive=true&connectionTimeout=2 > > 00)?startupMaxReconnectAttempts=1&timeout=-1 > > "/> > > > > We run into issues with the above when we migrate to new hardware and > > change the server names. This requires not only a change to the XML files > > (maintained in puppet), but also a deployment of the producing and > > consuming applications to pick up the updated configuration. What we'd > like > > to do instead is to virtualize the connection behind either an F5 load > balancer > > or a Virtual IP address. Ideally it would look something like this: > > > > <property name="brokerURL" value="failover:(tcp://camelVIP.domain.net > > :61616?keepAlive=true&connectionTimeout=200)?startupMaxReconne > > ctAttempts=1&timeout=-1"/> > > > > ...or something like that. Is a scheme like this even possible given the > built-in > > clustering and load balancing in Camel? > > > > Thanks in advance. > > > > -- > > *Paul David Mena* > > Senior Software Engineer > > Engineering Services > -- *Paul David Mena* Senior Application Engineer Engineering Services