No, of course not, we built a custom OSGI bundle exposing broker role for /health endpoint, it's not out-of-box, though you can use jolokia plugin which exposes JMX attributes over REST to achieve the same thing. Here's a typical GET request assuming jolokia plugin is enabled on the broker:
curl --get -u user:password http://myBroker:8181/jolokia/read/org.apache.activemq:type=Broker,brokerName=myBrokerName/Slave The JSON response contains boolean indicating if broker is in slave mode, we converted that to "master" "slave" for convenience, Full jolokia REST docs here: https://jolokia.org/reference/html/protocol.html -----Original Message----- From: Rallavagu [mailto:rallav...@gmail.com] Sent: Wednesday, December 02, 2015 3:38 PM To: users@activemq.apache.org Subject: Re: ActiveMQ deployment [ EXTERNAL ] Raffi, BTW, I am unable to get any response from "/health" end point. Is there a configuration that is required? I have already enabled JMX. Thanks. On 12/2/15 10:57 AM, Basmajian, Raffi wrote: > NoB is not an alternative to Master/Slave because they solve different > problems. > > As I said earlier, each broker exposes simple http service at > http://broker:8181/health, returning simple json detailing current master or > slave. F5 performs GET request on these http endpoints every 5s and searches > for "master" in response, if it finds it, that broker is considered > available, otherwise, it removes it from the pool. > > And you can combine M/S with NoB without intermediate load-balancer, it just > means all clients need complex failover connection url containing all broker > hosts; the advantage of using LB/wide-IP is avoiding all this complexity at > the client level. > > Hope that helps > Raffi > > -----Original Message----- > From: Rallavagu [mailto:rallav...@gmail.com] > Sent: Wednesday, December 02, 2015 1:34 PM > To: users@activemq.apache.org > Subject: Re: ActiveMQ deployment [ EXTERNAL ] > > Raffi, Thanks for the pointer. > > Completed a bit of reading and understanding the "updateClusterClients" > option also read the blog > > http://bsnyderblog.blogspot.com/2010/10/new-features-in-activemq-54-au > tomatic.html > > As per these options and the blog it appears to me that NOB with > "updateClusterClients" is potentially an alternative to master/slave > deployment. However, it does not offer H/A solution like master/slave does. > > As you mentioned in one of your previous response, you are actually > leveraging F5 load balancer to "talk" to master/slave. Is the F5 LB > configured with master/slave JMS client? Without an intermediate layer such > as F5 LB I suppose we can't have a combination of Master/Slave and NoB with > the option of "updateClusterClients". > > On 12/1/15 6:26 PM, Basmajian, Raffi wrote: >> Hi Rallavagu, >> >> When using "failover:" from client, if the transport connector has >> updateClusterClients="true", the clilent monitors changes in the >> broker cluster, allowing the client to maintain a list of active >> brokers to use for connection failover. We've tested this feature and >> were very impressed at how well it works. We observed clients failing >> over to new brokers seamlessly, and very fast, no exceptions thrown, >> well, at least none propagated to application code which are the ones >> we care about :-) >> >> This feature is supported for openwire transport only, not stomp, ws, amqp: >> >> <transportConnectors> >> <transportConnector >> name="openwire" >> uri="tcp://0.0.0.0:61616" >> updateClusterClients="true"/> >> </transportConnectors> >> >> >> Full reference here >> http://activemq.apache.org/failover-transport-reference.html >> >> Hope that helps >> Raffi >> >> -----Original Message----- >> From: Rallavagu [mailto:rallav...@gmail.com] >> Sent: Tuesday, December 01, 2015 7:33 PM >> To: users@activemq.apache.org >> Subject: Re: ActiveMQ deployment [ EXTERNAL ] >> >> Raffi, Thanks. This is interesting. >> >> What do you mean by "If connection fails, assuming transport connector is >> configured to update client with cluster changes" as the client is >> configured with only "failover:(tcp://eventbus:61616)"? >> >> >> >> On 12/1/15 4:23 PM, Basmajian, Raffi wrote: >>> That's exactly the configuration we're building; M/S pairs with NoB, >>> connected via complete graph. >>> >>> All clients connect using wide-IP "failover:(tcp://eventbus:61616)", that's >>> it. We did this for two reasons: >>> 1) to avoid messy failover configuration on the client, >>> 2) to avoid client-reconfig when topology is scaled out. >>> >>> Each broker has a special Http service that runs inside broker and queries >>> local JMX, responds with following JSON: >>> >>> {role:master} or {role:slave} >>> >>> This makes it easy to implement heartbeat logic using hardware >>> load-balancer, like F5. >>> F5 now pings each broker every 10s to determine which ones are active and >>> which are "master"; slaves and inactive nodes are removed from F5 pool. >>> When client connects using "failover:(tcp://eventbus:61616)", DNS routes to >>> F5 first, then F5 connects client to master broker in nearest datacenter; >>> this is done for initial connection only. >>> If connection fails, assuming transport connector is configured to update >>> client with cluster changes, the client will reconnect on its own; F5 does >>> not handle that, which is exactly what we wanted. Control initial connect >>> to simplify client config, but leverage ActiveMQ cluster aware clients >>> library to manage connection failovers. >>> >>> Hope that helps, >>> >>> Raffi >>> >>> >>> -----Original Message----- >>> From: Rallavagu [mailto:rallav...@gmail.com] >>> Sent: Tuesday, December 01, 2015 2:57 PM >>> To: users@activemq.apache.org >>> Subject: Re: ActiveMQ deployment [ EXTERNAL ] >>> >>> Now, I am getting a clearer picture about the options. Essentially, NOB >>> provides load balancing while Master/Slave offers pure failover. In case I >>> go with combination where a Master/Slave cluster is configured with NOB >>> with other Master/Slave cluster how would the client failover configuration >>> would work? >>> >>> Will a set of consumers always connect a one of the Master/Slave cluster? >>> In this case how would load balance work? Thanks. >>> >>> On 12/1/15 11:32 AM, Basmajian, Raffi wrote: >>>> NoB forwards messages based on consumer demand, not for achieving failover. >>>> You can get failover on the client using standalone brokers, just use >>>> failover:() protocol from client. >>>> Master/Slave is true failover. >>>> >>>> -----Original Message----- >>>> From: Rallavagu [mailto:rallav...@gmail.com] >>>> Sent: Tuesday, December 01, 2015 1:06 PM >>>> To: users@activemq.apache.org >>>> Subject: Re: ActiveMQ deployment [ EXTERNAL ] >>>> >>>> Thanks again Johan. As the failover is configured at the client end how >>>> would the configuration for combined deployment look like? >>>> >>>> I was thinking on the lines of NOB because the messages are >>>> forwarded to other broker(s) thus achieving failover capabilities >>>> in case the original broker is failed the duplicate messages are >>>> available on second >>>> (other) broker(s). Am I off in my assumption? >>>> >>>> On 12/1/15 9:35 AM, Johan Edstrom wrote: >>>>> You want to combine them, the NOB is for communication but JMS is still >>>>> store and forward, i.e if a machine dies, you can have multiple paths, >>>>> what was in the persistence store of said machine is still "dead" until >>>>> the machine is revived, that's where the Master / Slave(s) come in. >>>>> They'll jump in and start playing that persistence store. >>>>> >>>>> /je >>>>> >>>>>> On Nov 30, 2015, at 10:57 PM, Rallavagu <rallav...@gmail.com> wrote: >>>>>> >>>>>> Thanks Johan. >>>>>> >>>>>> My goal is to achieve high availability (with failover) for producer and >>>>>> consumer in addition to mitigate a situation of "there is a chance that >>>>>> one broker has producers but no consumers". >>>>>> >>>>>> As per the documentation, it sounds like NOB is an option which can >>>>>> offer failover and scalability. I was wondering if Master/Slave is the >>>>>> only option to achieve high availability but it appears to me that NOB >>>>>> can offer the same. Wanted to check this with folks here in this list if >>>>>> there is anything I am missing. >>>>>> >>>>>> >>>>>> On 11/30/15 9:28 PM, Johan Edstrom wrote: >>>>>>> What you probably want is a combination of HA and communication. >>>>>>> >>>>>>> HA I.e master and slave(s) (Depending on storage) gives you uptime. >>>>>>> NOB gives you communication paths and as such scalability and for some >>>>>>> value of it versatility. >>>>>>> >>>>>>> You can also use the two above and combine that with bridges to build >>>>>>> small little scalable clouds that forward like say enterprise email >>>>>>> systems. >>>>>>> >>>>>>> You can also go the completely different route and say that in your >>>>>>> Enterprise you only use central brokers for messages between systems of >>>>>>> importance, then you use local broker networks for message patterns, >>>>>>> aggregation etc. >>>>>>> >>>>>>> >>>>>>> There is no one solution here. If you have more specific questions it >>>>>>> might be easier for people here to help as we might have more >>>>>>> associations possible? >>>>>>> >>>>>>> /je >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> On Nov 30, 2015, at 3:25 PM, Rallavagu <rallav...@gmail.com> wrote: >>>>>>>> >>>>>>>> After spending some time reading, with reference to the >>>>>>>> following link, >>>>>>>> >>>>>>>> http://activemq.apache.org/clustering.html >>>>>>>> >>>>>>>> What I am trying to figure out is if it is possible to achieve a >>>>>>>> cluster with fault tolerance deploying with "Networks of brokers" or >>>>>>>> should I consider "Master/Slave" in addition to "Networks of brokers". >>>>>>>> Not sure how the hybrid deploying works. Any comments would help. >>>>>>>> Thanks. >>>>>>>> >>>>>>>> On 11/25/15 11:13 AM, Rallavagu wrote: >>>>>>>>> Any takers on this? Thanks. >>>>>>>>> >>>>>>>>> On 11/24/15 1:37 PM, Rallavagu wrote: >>>>>>>>>> All, >>>>>>>>>> >>>>>>>>>> What is the recommended deployment architecture for an enterprise? >>>>>>>>>> >>>>>>>>>> 1. Master/Slave with replicated Level DB >>>>>>>>>> (http://activemq.apache.org/replicated-leveldb-store.html) >>>>>>>>>> >>>>>>>>>> 2. Network of Brokers for scalability >>>>>>>>>> >>>>>>>>>> 3. Hybrid >>>>>>>>>> >>>>>>>>>> In case of hybrid, is there a reference document that I could use? >>>>>>>>>> Thanks. >>>>>>> >>>>> >>>> >>>> This e-mail transmission may contain information that is proprietary, >>>> privileged and/or confidential and is intended exclusively for the >>>> person(s) to whom it is addressed. Any use, copying, retention or >>>> disclosure by any person other than the intended recipient or the intended >>>> recipient's designees is strictly prohibited. If you are not the intended >>>> recipient or their designee, please notify the sender immediately by >>>> return e-mail and delete all copies. OppenheimerFunds may, at its sole >>>> discretion, monitor, review, retain and/or disclose the content of all >>>> email communications. >>>>