Do you use ActiveMQ?

So I read today where LinkedIN uses ActiveMQ as part of their architecture. I haven’t used ActiveMQ personally, but we use it for a project where I work and the guy that set it up absolutely hates it now.

We were looking to use a message server for a new project and started kicking around ideas. The primary requirement was multiple language support. New stuff is largely being done in Java but we also have a really large perl codebase and some backend stuff is still be done in perl. Naturally that made ActiveMQ a front runner because of its open language support. Once he got wind of the talks it was quickly shelved with “over my dead body”.

Turns out that despite the great documentation and its visibility, it doesn’t work quite as speedy as one would think. After fixing several bugs himself (out of order messages being one that I recall), the one glaring problem is performance. Seems that if a subscriber is a bit slow, the whole server becomes slow even on the receiving end. Well, that is just counter productive in my book. The whole idea of a message system is to eliminate these kinds of bottlenecks yes?

We then tried openAMQ (a C-based server) and that shelved too because it kept dropping messages. For the time being we settled on Websphere MQ which just makes me want to puke. I know IBM has had a message server forever, but I have yet to see a piece of software they’ve written that was worth a shit.

Hopefully we can find another solution before big blue takes a firm hold on us. Any suggestions?

Any really good experiences with ActiveMQ?



Don't miss anything, subscribe!

Did you enjoy this post? Why not leave a comment below and continue the conversation, or subscribe to my feed and get articles like this delivered automatically to your feed reader.

Comments

OpenMQ (http://openmq.dev.java.net). It’s “Robust”.
But don’t take my word for it, look at Wotif.com’s story moving from ActiveMQ to OpenMQ: http://wiki.glassfish.java.net/PageInfo.jsp?page=GlassFishDay2008Sydney/OpenMQ.pdf

Perhaps I’m just missing something, but I don’t see anything in those slides about ActiveMQ, let alone why they moved?

Also, I don’t see anything about multilingual other than the C-API. We were really looking for something that supports the AMQP protocol.

Ok, so I guess the ActiveMQ part is in the audio only which you can dig it out here: http://www.ustream.tv/recorded/395482 (7 minutes into). It has to do with performance, overal quality, and community responsiveness (lack thereof).

Yes, C and SOAP only at this point.

There are lots of people using ActiveMQ in production - it wouldn’t be so popular if that wasn’t the case.

There are lots of strategies for dealing with different use cases, slow consumers being just one of them. The ActiveMQ project is slightly damned by its own success - because we do have support so many usage scenarios. Perhaps, instead of spreading FUD - if your ‘guy’ had asked the really responsive user lists - we could have explained to him how easy it it to configure ActiveMQ to:
1. handle slow consumers
2. performance tune
3. Increase reliability

or any combination of the above by some very straight forward configuration ;)
cheers,

Rob

fair enough. with the exception of the first comment. DBCP has been in ‘production’ for years and is horribly broken :) see this post

Thanks for the heads up - will investigate!

BTW since 5.1 of ActiveMQ we recommend the default persistence mechanism which is crazy fast and avoids the need for a JDBC pool…

http://activemq.apache.org/amq-message-store.html

We tried ActiveMQ for a project two years ago, but got burned by some bugs. After restarting one of the servers the message forwarding didn’t resume in some cases. Don’t know if that ever got solved, but I guess a lot has happened with ActiveMQ since then.
Also, the Topics implementation couldn’t deal with huge message backlogs at the time, but I think that’s supported in current versions.
Performance, i.e. throughput, seemed ok though.

The recently released ActiveMQ 5.1.0 is amazing. You could also try the “IONA Fuse Message Broker” distribution if you want better stability. ActiveMQ 5.0.0 wasn’t stable at all, it had a lot of critical problems.

I haven’t heard anything negative about ActiveMQ, this post might be the first. However, I COMPLETELY agree, WebSphere products make me sick, too.

You might want to take a look at Joram (http://joram.objectweb.org/). When I last looked at ActiveMQ it was far too slow for our needs at large travel site.

If you have a need for performance, you should look at SonicMQ. I used to work there… product is rock-solid and I never lost a ‘bake-off’, plus they have some very cool HA technology. It does have a pricetag though. FWIW.

I don’t see AMQP in SonicMQ’s featureset. That is a must for our needs.

My company went through the same trials and tribulations, and ended up with OpenMQ, which absolutely rocks (stable, wicked fast, etc.). It has its limitations, but the community seems more robust/open (and vaguely less arrogant) then AMQ’s.

We used activemq as part of ServiceMix ESB. ServiceMix 3.2.1 uses activemq 4.1. I can relate to the issues are you and/or your collegue is talking about with respect to activemq. There are some serious gotchas ( Internal memory - usageMemory lockup ), , synchronization issues ( client closing connections ) and HA ( Pure Master/Slave which is a joke in 4.1 as IT DOES NOT WORK. Their JIRA bug report shows that it is fixed is 5.x ) screw ups.

We can hardly have it up for a week.

Leave a comment

(required)

(required)