This can be done with ActiveMQ using a hub-and-spoke topology on a network
of brokers.  The spoke brokers should use duplex connections to the hub so
the hub broker doesn't need to enumerate them all.

You can either embed a broker within each client or run standalone brokers
at each spoke location.  The former is simpler to configure, but has the
significant disadvantage that any messages in a client's embedded broker
will either be lost (if the client broker doesn't use a persistent store)
or unavailable until the client reconnects.  If possible, you should use
standalone brokers colocated with your clients, to enable that messages are
delivered as expected.

Tim

On Sep 22, 2016 6:34 AM, "Christian Schneider" <ch...@die-schneider.net>
wrote:

> I am looking for a best practice to communicate between a central system
> and several remote systems that are only connected for certain time periods.
>
> The remote system sends logs to the central system, the central system can
> dispatch batch jobs running on the remote system. The job should send
> regular heart beats and also report failure or success.
>
> The core requirement is that all operations should be asynchronous.
>
> So for example when sending a log event the remote system should not block
> even if the connection to the central system is not available at the time.
> So I am sure that I will need local queueing and some forwarding mechanism.
>
> Can this be done with activemq? How would such a setup look like?
>
> Christian
>
> --
> Christian Schneider
> http://www.liquid-reality.de
>
> Open Source Architect
> http://www.talend.com
>
>

Reply via email to