activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Pocock (JIRA)" <>
Subject [jira] [Commented] (ACTIVEMQ6-85) Add support for HA cluster / failover discovery using DNS SRV records
Date Mon, 02 Mar 2015 09:07:04 GMT


Daniel Pocock commented on ACTIVEMQ6-85:

Discussed with @jbertram on IRC

Discussed using dnsjava

    BSD licensed
    available in Maven

HornetQ servers would potentially create their own SRV records on startup, using dynamic DNS
updates as demonstrated here:

Java clients can get similar results from JNDI

Python and Perl clients using the STOMP and REST interfaces get significant benefit from this
as they can't use any of the cluster discovery code that is in Java.

2014-10-09: I sent a query on the netty mailing list about whether the SRV record iteration
can be done within netty:!forum/netty

> Add support for HA cluster / failover discovery using DNS SRV records
> ---------------------------------------------------------------------
>                 Key: ACTIVEMQ6-85
>                 URL:
>             Project: Apache ActiveMQ 6
>          Issue Type: New Feature
>    Affects Versions: 6.0.0
>            Reporter: Daniel Pocock
> Copied from HORNETQ-1270
> The DNS SRV record provides a convenient and well known mechanism to configure active-active,
load balanced clusters and to provide failover information.
> It is convenient for many people because they already have DNS servers and support staff
are usually familiar with the procedures for maintaining the DNS entries.
> DNS SRV also allows port numbers to be advertised.
> The clustering support using UDP multicast doesn't work for all sites, especially where
the user is more concerned with failover than load-balancing.
> A specific DNS SRV implementation may involve some or all of the following:
> - clients discovering a HornetQ, JNDI or STOMP host and port
> - servers dynamically deciding which IPs and ports to bind to by checking DNS SRV records
> - servers dynamically deciding which other servers to cluster with by checking for DNS
SRV records
> DNS SRV records may look like this:
> IN SRV 1 50 5566
> IN SRV 2 50 5566
> A STOMP client would then be configured with just the domain name ""
and it would dynamically discover the hosts and ports from DNS

This message was sent by Atlassian JIRA

View raw message