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&amp;connectionTimeout=200,tc
> > p://camel02.domain.net:61616?keepAlive=true&amp;connectionTimeout=2
> > 00,tcp://camel03.domain.net:61616?keepAlive=true&amp;connectionTimeo
> > ut=200,tcp://camel04.domain.net:61616
> > ?
> >
> > keepAlive=true&amp;connectionTimeout=200,tcp://
> > camel05.domain.net:61616?keepAlive=true&amp;connectionTimeout=200,tc
> > p://camel06.domain.net:61616?keepAlive=true&amp;connectionTimeout=2
> > 00)?startupMaxReconnectAttempts=1&amp;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&amp;connectionTimeout=200)?startupMaxReconne
> > ctAttempts=1&amp;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

Reply via email to